C++ c++;检查数据是否相等

C++ c++;检查数据是否相等,c++,arrays,if-statement,for-loop,C++,Arrays,If Statement,For Loop,我正在编写一个程序,必须检查用户输入的字符是否等于数组中的一个字符。如果不等于任何,则应显示“无效…”。这对我不起作用,谁能解释一下我做错了什么。我每次都会得到无效字符 我有一个字符数组数据[5];可以储存5个字母 cout<<"Enter one character to delete: "; cin>>del; cout<<del; for(int x=0;x<4;x++) { if(del!=data[x])

我正在编写一个程序,必须检查用户输入的字符是否等于数组中的一个字符。如果不等于任何,则应显示“无效…”。这对我不起作用,谁能解释一下我做错了什么。我每次都会得到无效字符

我有一个字符数组数据[5];可以储存5个字母

 cout<<"Enter one character to delete: ";
 cin>>del;


 cout<<del;
 for(int x=0;x<4;x++)
    {
      if(del!=data[x])
        {
         cout<<"Invalid, character not entered.\n";
         break;
         }

    }
coutdel;

cout
for(int x=0;x
for(int x=0;x如果您的字符数组是以C样式null结尾的字符串,则可以使用strchr:

#include <cstring>
//...
if (strchr(data, del)) {
    // character found
}
else {
    // character not found
}
#包括
//...
if(strchr(数据,删除)){
//角色发现
}
否则{
//找不到字符
}

如果您的字符数组是以C样式null结尾的字符串,则可以使用strhr:

#include <cstring>
//...
if (strchr(data, del)) {
    // character found
}
else {
    // character not found
}
#包括
//...
if(strchr(数据,删除)){
//角色发现
}
否则{
//找不到字符
}

如果
del
不等于
data[0]
,则
break
语句将使您脱离for循环(不尝试x的其他值)。我建议使用
std::string
std::string::find
(和
std::string::erase
删除一个)。如果
del
不等于
data[0]
break
语句将使您脱离for循环(无需尝试x的其他值)。我建议使用
std::string
std::string::find
(和
std::string::erase
删除一个)。