用strtoken函数识别以“\0”分割的字符串

来源:互联网 发布:铁路造价软件下载 编辑:程序博客网 时间:2024/06/06 12:40

用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”分割的数据。


0 0