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

use char* to compare with a value on string

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

char str[] ="one11;one2";
char* pch;
pch = strtok (str,";");
while (pch != NULL)
    pch = strtok(NULL, ";");

现在我需要将指针 pch 与特定值进行比较,比方说:

if (pch == "one11")
  // do this

虽然我得到的是字符串的第一部分,但在本例中 'one11' 比较失败。有没有办法比较这两个东西?

谢谢,

要比较字符串,请使用 header <string.h> 中声明的标准函数 strcmp。例如

#include <string.h>

//..
char str[] ="one11;one2";
char* pch;
pch = strtok (str,";");
while ( pch != NULL && strcmp( pch, "one11" ) != 0 )
    pch = strtok(NULL, ";");

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