使用strtok遇到的问题, 求救!!!
- C/C++ code
#include <stdio.h>#include <string.h>#include <stdlib.h>int main(argc, argv){ char cBunsekiFilePath[256]; int count; char *readData;strncpy(cBunsekiFilePath, "c,,,as,q,aqq", sizeof(cBunsekiFilePath));count = 0;readData = strtok(cBunsekiFilePath, ",");while( readData != NULL ) { count++; readData = strtok( NULL, "," );}按逗号分割,但有些是空字符串,所以统计的是: count = 4
我预想得到: 6 请问我应该怎么做??
[解决办法]
你用strchr搜索,个数,然后加1
[解决办法]
两个办法:
一、自己实现strtok函数
二、执行完while( readData != NULL ) {
count++;
readData = strtok( NULL, "," );
}以后再进行
- C/C++ code
readData = strchr(cBunsekiFilePath, ',');while(readData) { if(','==*++readData) { ++count; } readData = strchr(readData, ',');}