我试图用空格分解一个字符,然后执行一些条件逻辑,但是在 char * 上使用 strcmp 不起作用。
int main(void)
{
char buf[64];
char *cmd;
// assign some space delimited words to buf...
if (strcmp(buf, "somestring junk") == 0) { // this works
// do stuff here
}
cmd = strtok(buf, " ");
if (strcmp(cmd, "somestring") == 0) { // this doesn't work
// do stuff here
}
return 0;
}
我尝试了不同的变体,例如“somestring”或“somestring\n”,但没有成功。代码编译没有错误或警告。strcmp 的手册页让我相信 strcmp 应该可以工作。我究竟做错了什么?