用strtoken识别以空格,制表符等等一些普通字符,其常规用法就可以,而要识别“\0”就需要加工一下:
常规用法一:(用空格token)
LPSTR pszTokenContext = NULL;
LPSTR pszToken = strtok_s(pszBuf, " ", &pszTokenContext);
while (pszToken != NULL)
{
printf("%s\n", pszToken);
//pszToken = pszTokenContext+1;
pszToken = strtok_s(NULL, " ", &pszTokenContext);
}
方法一(C):(用“\0”token)
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);
}
常规用法二:(用空格token)
CString sToken;
int curPos = 0;
sToken = strBuf.Tokenize(" ", curPos);
while (sToken != "")
{
//curPos += sToken.GetLength()+1;
printf("%s\n", sToken);
sToken = strBuf.Tokenize(" ", curPos);
}
方法二(MFC):(用“\0”token)
CString sToken;
int curPos = 0;
sToken = strBuf.Tokenize("\0", curPos);
while (sToken != "")
{
curPos += sToken.GetLength()+1;
printf("%s\n", sToken);
sToken = strBuf.Tokenize("\0", curPos);
}
P.S通过CString的Getbuff函数,可以设置具有多个“\0”分割的数据。