警告:在c ++中比较数组和字符串

时间:2015-01-23 10:12:28

标签: c++ arrays string compare

我有这个警告:

  

警告:多字符字符常量[-Wmultichar]

被告是:

if (strchr(test[0],'E3')){

如果我使用

进行编辑
 if (strchr(test[0],"E1")){

我有这个错误:

  

错误:从'const char *'无效转换为'int'[-fpermissive]

考虑将test [0]声明为:

 char *test[10];

我该如何解决?

2 个答案:

答案 0 :(得分:0)

为什么不使用std::string::find

std::string str(test[0]);
auto idx = str.find("E3");

答案 1 :(得分:0)

这是函数原型:

const char * strchr ( const char * str, int character );

strchr()函数返回指向第一次出现的指针 字符串s中的字符c。

您对函数原型的使用是错误的。

 if (strchr(test[0],"E1")){

因此,编译错误。

''将为您提供要搜索的字符的ascii值。

  char str[] = "This is a sample string";
  char * pch;
  printf ("Looking for the 's' character in \"%s\"...\n",str);
  pch=strchr(str,'s');