使用 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 为正值。
您好,我使用函数 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 为正值。