我一直收到一个错误,上面写着“警告:指针与整数的比较”。我试过使用char*,仍然得到同样的错误。我想计算字符串中出现的逗号的数量,并将出现的次数放入计数器中。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, char *argv[]) {
/*FILE *fp;
fp = fopen("csvTest.csv","r");
if(!fp){
printf("File did not open");
}*/
//char buff[BUFFER_SIZE];
char buff[100] = "1000,cap_sys_admin,cap_net_raw,cap_setpcap";
/*fgets(buff, 100, fp);
printf("The string length is: %lu\n", strlen(buff));
int sl = strlen(buff);*/
int count = 0;
int i;
for(i=0;buff[i] != 0; i++){
count += (buff[i] == ",");
}
printf("The number of commas: %d\n", count);
char *tokptr = strtok(buff,",");
char *csvArray[sl];
i = 0;
while(tokptr != NULL){
csvArray[i++] = tokptr;
tokptr = strtok(NULL, ",");
}
int j;
for(j=0; j < i; j++){
printf("%s\n", csvArray[j]);
}
return 0;
}
字符串
1条答案
按热度按时间2w2cym1i1#
例如在这份声明中
字符串
你正在比较
char
类型的对象buff[i]
和字符串文字","
,在比较表达式中,字符串文字","
被隐式转换为const char *
类型。您需要使用字符文字
','
来比较字符和字符,如型
另一种方法是使用标准C函数
strchr
。型
请注意循环条件中有一个错字
型
你得写
型
而且似乎不是这个宣言
型
你是说
型