用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