강우정 님이 쓰신 글 :
: 안녕하세요.
:
: wchar_t *str = L"View.exe,1,0,&View" 라는 문자열을 wcstok로 자르려고 합니다.
:
: wcstok(str, L",");
: wcstok(NULL, L",");
: wcstok(NULL, L",");
: ...
:
: 진행했을 때 예상되는 결과는
: View.exe
: 1
: 0
: &View
: 인데요. 결과는 이상하게 나옵니다.
:
: View.exe
: 1,0,&Vi
: w
: 이런식으로요
:
: 추적을 해보니
: str이 View.exe\01,0,&Vi\0w 이런식으로 뒤쪽 영문자 e 가 \0으로 변해서 짤렸더라구요.
: 혹시 왜 이렇게 변하는지 도움이 요청드립니다.
:
:
답변:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
wchar_t wstr[] = L"View.exe,1,0,&View";
wchar_t *tk = wcstok(wstr, L",");
while (tk != NULL)
{
Memo1->Lines->Add(tk);
tk = wcstok(NULL, L",");
}
}
RAD 10.2 인데요. 다른 버전에선 안되나요?
|