C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[67837] Re:Re:Re:[질문]substring 이용해서 unicodestring 자르는 방법 좀 알려주세요
Starlet [starlet5] 1648 읽음    2012-07-30 15:39
아, 0x0102군요.
그렇다면 문자열이라기 보다 비트 단위(2진수) 연산을 해야 되는군요.
0x0102가 A라는 스트링의 한 글자입니다. AnsiString을 char 로 한글자씩 받을때 c_str()을 쓰듯이 똑같이 c_str()을 사용하면 됩니다.
단, 유니코드이기 때문에 char(8비트) 가 아니라 wchar_t(16비트) 입니다.
먼저 한글자를 받을 wchar_t wc; 라고 해서 하나 두고, 그리고 0x0102를 반씩 잘라 저장할 char c1, c2; 를 만듭니다.
그러면,

wc = A.c_str()[0];  // 첫번째 0x0102입니다. 두번째 0203은 c_str()[1], 그 다음은 c_str()[2]...
c1 = wc >> 8; // 오른쪽으로 8비트만큼 밀어 버립니다. 그러면 상위 8비트만 남게 됩니다.
c2 = wc & 0x00FF // 상위 비트를 00으로 AND 연산하여 없애버려 하위 8비트만 남습니다.

이렇게 하면 c1에 0x01, c2에 0x02이 들어갑니다.

이걸 말씀하시는게 맞는지 모르겠네요...


얌냠 님이 쓰신 글 :
: 아 죄송합니다  A = 0x0102, 0x0203, 0x0304 이고, B = 0x01, 0x02, 0x02, 0x03, 0x03, 0x04 로 만들고 싶습니다.
:
: Starlet 님이 쓰신 글 :
: : 질문이 애매하네요.
: : UnicodeString A = "0102, 0203, 0304"; 인가요?
: : 아니면 0x0102, 0x0203, 0x0304 로 저장되어 있는 것인가요?
: :
: : 얌냠 님이 쓰신 글 :
: : : 안녕하세요. Substring에 대해서 여쭤보려고 합니다.
: : : 제가 UnicodeString으로 되어있는 데이터를 substring을 이용해서 AnsiString으로 변환하려고 합니다.
: : : 예를들어 UnicodeString A = 0102, 0203, 0304와 같이 저장되어 있을때 각 열에 해당되는 4개의 숫자를 01, 02, 02, 03, 03, 04 와 같이 2개씩 잘라서 AnsiString으로 정의된 변수 B에 저장하고자 합니다.
: : : 제가 생각했던 코딩은 이렇습니다.
: : :
: : : =================================
: : :
: : : UnicodeString A;
: : :
: : : AnsiString B;
: : :
: : : for (int i = 1; i < A.Length(); i++)
: : :   {
: : :    B[2*i-1] = A[i].SubString(1,2);
: : :    B[2*i] = A[i].SubString(3,4);
: : :   }
: : : ==================================
: : : 이대로 build를 하니
: : : [BCC32 Error] Main.cpp(7208): E2294 Structure required on left side of . or .*
: : : 이런 에러가 발생하는데 뭐가 문제인지 잘 모르겠습니다. 도움 부탁드립니다.

+ -

관련 글 리스트
67833 [질문]substring 이용해서 unicodestring 자르는 방법 좀 알려주세요 얌냠 1166 2012/07/30
67834     Re:[질문]substring 이용해서 unicodestring 자르는 방법 좀 알려주세요 Starlet 1267 2012/07/30
67835         Re:Re:[질문]substring 이용해서 unicodestring 자르는 방법 좀 알려주세요 얌냠 1257 2012/07/30
67837             Re:Re:Re:[질문]substring 이용해서 unicodestring 자르는 방법 좀 알려주세요 Starlet 1648 2012/07/30
67843                 Re:Re:Re:Re:[질문]substring 이용해서 unicodestring 자르는 방법 좀 알려주세요 얌냠 1394 2012/07/30
67845                     Re:Re:Re:Re:Re:[질문]substring 이용해서 unicodestring 자르는 방법 좀 알려주세요 Starlet 1215 2012/07/30
67846                         Re:Re:Re:Re:Re:Re:[질문]substring 이용해서 unicodestring 자르는 방법 좀 알려주세요 얌냠 1392 2012/07/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.