用strtoken识别以空格,制表符等等一些普通字符,其常规用法就可以,而要识别“\0”就需要加工一下:
常规用法:
LPSTR pszTokenContext = NULL;
LPSTR pszToken = strtok_s(pszBuf, "\0", &pszTokenContext);
while (pszToken != NULL)
{
printf("%s\n", pszToken);
//pszToken = pszTokenContext+1;
pszToken = strtok_s(NULL, "\0", &pszTokenContext);
}
方法一(C):
LPSTR pszTokenContext = NULL;
LPSTR pszToken = strtok_s(pszBuf, "\0", &pszTokenContext);
while (pszToken != NULL)
{
printf("%s\n", pszToken);
pszToken = pszTokenContext+1;
pszToken = strtok_s(pszToken, "\0", &pszTokenContext);
}
方法二(MFC):
CString sToken;
int curPos = 0;
sToken = strBuf.Tokenize("\0", curPos);
sToken.Empty();
while (sToken != "")
{
curPos += sToken.GetLength()+1;
printf("%s\n", sToken);
sToken = strBuf.Tokenize("\0", curPos);
}
原文地址:http://blog.csdn.net/chen_jint/article/details/41490761