搜索并比较字符串与字符串数组

时间:2014-01-28 21:37:40

标签: c string search compare

这是我的代码

const char *s[5];={"abcd","efgh","ijkl","mnop","qrst"};
char a[4];
while (1)
      {
      scanf("%4s",&a);

      //compare a with s array

      if(/*a exists in s*/)
      printf("it is ok");

      if(/*a does not exist in s*/)
      printf("it is not ok");
}

例如,当我键入“dcba”时,我想看到“它不好”。当我输入“efgh”时,我想看到“没关系”。

2 个答案:

答案 0 :(得分:0)

首先将数组a声明为

char a[5];

使用fgets输入字符串(不要使用scanf),然后使用strcmpstrncmp函数来比较两个字符串/(文字)。

答案 1 :(得分:0)

如果您使用的是C ++和std::string类,则可以使用std::vector<string>std::find中的<algorithm>来查找字符串。

由于您使用的是C风格的字符串,因此请在参考书中搜索strcmp,以便将容器中的项目与C风格的字符串变量进行比较。