|
아.. 그렇군요...
RichEdit 컴포넌트에서 "\xCD \xEE" 이런 식으로 입력을 했습니다.
Output = (unsigned char*)(RichEdit->Text.c_str());
이렇게 가져와서 Output 내용을 봤는데 '\\' 이렇게 들어가있기에..
그렇게 생각한건데..
화면에서 보이는 '\' 가 AnsiString 으로 변환될때 '\\' 로 변환되면서 그렇게 된건가요;;..
RichEdit 컴포넌트에서 입력한 데이터("\xCD \xEE") 를
unsigned char * 형으로 그대로 가져오려고 했습니다.
Output 에는 "0xCD, 0xEE" 이렇게 들어가도록 하려고 하거든요.
크레브 님이 쓰신 글 :
: : c_str() 을 이용하니까..'\' 가.. '\\' 로 되어서 들어가버리더라구요;;
:
: ---> 안그럴꺼 같은데요
: \\로 들어 갔다고 판단한 근거는 무엇인지요?
: c_str()은 그냥 포인터만 리턴하는것이므로 제대로 들어가는것이 맞습니다.
:
: 혹시 TEdit 같은 콤포넌트에서 입력하시고 그렇게 생각하는것은 아닌가요?
:
:
:
:
: HS_Soul 님이 쓰신 글 :
: : AnsiString 에서 보이는 데이터를 unsigned char * 형 변수로 보내려고 하는데요..
: :
: : //================================
: : AnsiString Input;
: : unsigned char *Output;
: : //================================
: :
: : 위와 같이 선언이 되어있다고 가정을 하고~
: :
: : Input = "ABCDEFG"; 을
: :
: : *Output = "ABCDEFG"; 이렇게 되도록 하려면..
: :
: : Output = (unsigned char*)Input.c_str();
: :
: : 이렇게 하면 되는걸로 알고있습니다.
: :
: : 문제는 AnsiString 에 '\' 가 있을 경우인데요..
: :
: : AnsiString Input = "\xAB \xCD \xE0 \x15"; 일때..
: :
: : *Output = "\xAB \xCD \xE0 \x15";
: :
: : 이렇게 되도록 하려면 어떻게 하면 될까요..?
: :
: : c_str() 을 이용하니까.. '\' 가.. '\\' 로 되어서 들어가버리더라구요;;
|