我在将"0"
字符串添加到C中的字符串列表时遇到问题。
使用我当前的代码,我无法使用当前代码区分NULL
值和"0"
。我尝试使用if语句(if(pch == "0"))
进行调试,但是当我输出它时,它不会进入if语句。
printf("%c\n",next_line[0]);
pch = strtok(next_line,",");
printf("%s\n",pch);
if(pch == "0"){
printf("NULL VALUE");
strcpy(strs[i],pch);
i++;
pch = strtok(NULL, ",");
}
while(pch != NULL){
strcpy(strs[i],pch);
i++;
pch = strtok(NULL, ",");
}
//go on to print values
输入为:0,1,03:48:13,9
我从来没有超过第一个角色。我该怎么做才能保留我的代码?我可以改变吗
pch = strtok(NULL, ",");
to pch = strtok(SOMEOTHERVALUE, ",");?
答案 0 :(得分:2)
你无法像这样检查,
if(pch == "0"){
...
}
pch是指针。您正在将其与字符串进行比较。所以你必须像这样做,
if ( *pch == '0' ) {
...
}
或者这样做,
if ( strcmp(pch,"0") == 0 ) {
...
}
它可以帮助您检查字符串中的zero
。