Q&A

  • c_str() 사용시에 이상한....
AnsiString을 char* 타입으로 conversion을 하려고

c_str()을 사용하였습니다..

내용은

char *tmp;

tmp = RichEdit->Text.c_str();



RichEdit->Text의 내용 => select * from code_tb;

tmp의 내용 => select * from code_t$



평소에 자주 사용하고 별이상이 없었는데...

왜 tmp끝에 이상한 문자가 나올까요...

혹시 이런 현상에 대해서 아시는분 .

도와주세용~~

2  COMMENTS
  • Profile
    안치봉 1999.06.25 23:26
    잘은 모르겠으나...



    혹시뒤에 엔터문자랑 개행문자가 붙는걸 말하는건지요?.



    일반적으로 AnsiString.c_str() 메쏘드는 문자열을 null 문자열 형태의 C 스트링 형태로 돌려주는걸로 알고 있습니다. 때문에 엔터문자랑 개행문자도 포함이 될겁니다. 아닌가?. -.-;;



    왕초 께서 말씀하시기를...

    > AnsiString을 char* 타입으로 conversion을 하려고

    > c_str()을 사용하였습니다..

    > 내용은

    > char *tmp;

    > tmp = RichEdit->Text.c_str();

    >

    > RichEdit->Text의 내용 => select * from code_tb;

    > tmp의 내용 => select * from code_t$

    >

    > 평소에 자주 사용하고 별이상이 없었는데...

    > 왜 tmp끝에 이상한 문자가 나올까요...

    > 혹시 이런 현상에 대해서 아시는분 .

    > 도와주세용~~





  • Profile
    왕초 1999.06.26 03:38
    RichEdit에서 c_str()메소드를 사용하면 개행문자, 엔터문자가 없어도

    아래처럼 끝에 이상한 문자가 나오죠...

    그래서, Memo 로 해보니 이상이 없이 잘되더군요..

    이유는 잘모르겠지만 RichEdit에서는 이런현상이...(뭔가 관련이 있겠죠..)



    안치봉 께서 말씀하시기를...

    > 잘은 모르겠으나...

    >

    > 혹시뒤에 엔터문자랑 개행문자가 붙는걸 말하는건지요?.

    >

    > 일반적으로 AnsiString.c_str() 메쏘드는 문자열을 null 문자열 형태의 C 스트링 형태로 돌려주는걸로 알고 있습니다. 때문에 엔터문자랑 개행문자도 포함이 될겁니다. 아닌가?. -.-;;

    >

    > 왕초 께서 말씀하시기를...

    > > AnsiString을 char* 타입으로 conversion을 하려고

    > > c_str()을 사용하였습니다..

    > > 내용은

    > > char *tmp;

    > > tmp = RichEdit->Text.c_str();

    > >

    > > RichEdit->Text의 내용 => select * from code_tb;

    > > tmp의 내용 => select * from code_t$

    > >

    > > 평소에 자주 사용하고 별이상이 없었는데...

    > > 왜 tmp끝에 이상한 문자가 나올까요...

    > > 혹시 이런 현상에 대해서 아시는분 .

    > > 도와주세용~~

    >

    >