使用char*与字符串上的值进行比较

使用char*与字符串上的值进行比较,c,c89,C,C89,嗨,我使用strtok函数拆分数组,如下所示: char str[] ="one11;one2"; char* pch; pch = strtok (str,";"); while (pch != NULL) pch = strtok(NULL, ";"); 现在我需要将指针pch与特定值进行比较,比如: if (pch == "one11") // do this 虽然我得到的是字符串的第一部分,但在本例中为“one11”,比较失败。有没有办法比较这两件事 谢谢,要比较字符串,

嗨,我使用strtok函数拆分数组,如下所示:

char str[] ="one11;one2";
char* pch;
pch = strtok (str,";");
while (pch != NULL)
    pch = strtok(NULL, ";");
现在我需要将指针pch与特定值进行比较,比如:

if (pch == "one11")
  // do this
虽然我得到的是字符串的第一部分,但在本例中为“one11”,比较失败。有没有办法比较这两件事


谢谢,

要比较字符串,请使用标题
中声明的标准函数
strcmp
。比如说

#include <string.h>

//..
char str[] ="one11;one2";
char* pch;
pch = strtok (str,";");
while ( pch != NULL && strcmp( pch, "one11" ) != 0 )
    pch = strtok(NULL, ";");
#包括
//..
字符str[]=“one11;one2”;
char*pch;
pch=strtok(str,“;”);
while(pch!=NULL&&strcmp(pch,“one11”)!=0)
pch=strtok(空,“;”);

如果第一个字符串小于第二个字符串,则函数返回负值。如果字符串相等,则函数返回0。如果第一个字符串大于第二个字符串,则函数返回一个正值。

请参见函数
strcmp
。哦,我认为strcmp需要为每个变量确保空间,我不知道即使是指针也可以工作。谢谢