使用char *与string上的值进行比较

时间:2015-02-26 14:15:38

标签: 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',比较失败了。有没有办法比较这两件事?

谢谢,

1 个答案:

答案 0 :(得分:2)

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

#include <string.h>

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

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