반응형

strtok(_tcstok)는 문자열을 특정 기준에 따라 나누어 주는 함수이다.

 TCHAR.H routine _UNICODE & _MBCS not defined _MBCS defined _UNICODE defined
 _tcstok strtok _mbstok wcstok
 _tcstok strtok_l _mbstok_l wcstok_l


예를 들어

string[] = _T("My Friends are honest. \n But, JK is very stupid");

 라는 문장이 있다 이 문장에서 \n을 기준으로 두개의 문자열로 나누고 싶다면

다음과 같이 사용하면 된다.

특정 기준을 사용하기 위해 배열에 기준에 대한 항목을 넣어준다.

TCHAR seps[] = _T("\t\n");  //\t와 \n이 나오면 문자열을 나눈다.

아래는 위에서 설명한 내용에 따라 예제로 나타낸 것이다.
(MSDN 참고)
#include <string.h>
#include <stdio.h>
#include <tchar.h>
TCHAR string[] = _T("My Friends are honest. \nSo, I'm happy");
TCHAR seps[] = _T("\t\n");
TCHAR *token;

int _tmain(int argc, TCHAR argv[])
{
//문자열을 기준에 따라 token에 임시 저장한다.
token = _tcstok( string, seps );

while( token != NULL )
{
  //기준에 의해 나눈 문자열을 출력한다.
_tprintf(_T("%s\n"), token );

// 다음 문자열을 구한다.
token = _tcstok( NULL, seps ); // C4996
}
}

실행결과
My Friends are honest.
So.I'm happy

반응형

+ Recent posts