C++ C++;相互比较字符

C++ C++;相互比较字符,c++,string,C++,String,我试图写一些东西,我需要看到用户输入的单个字母。例如,一个可能的输入是“hvhh”。目前,我希望一次遍历字符串一个字符。所以字符0是H,它执行命令1(现在它只打印字母)。字符1为V,不执行命令2(未实现)。字符2是V,不执行命令2。下面是我写的东西,但是它在if(…)行返回一个错误。返回: error C2446: '==': no conversion from 'const char [2]' to 'int' 谁能告诉我这意味着什么以及如何修复它?提前谢谢 #include <io

我试图写一些东西,我需要看到用户输入的单个字母。例如,一个可能的输入是“hvhh”。目前,我希望一次遍历字符串一个字符。所以字符0是H,它执行命令1(现在它只打印字母)。字符1为V,不执行命令2(未实现)。字符2是V,不执行命令2。下面是我写的东西,但是它在
if(…)
行返回一个错误。返回:

error C2446: '==': no conversion from 'const char [2]' to 'int'
谁能告诉我这意味着什么以及如何修复它?提前谢谢

#include <iostream> <string>
int grid[4] = { 1,2,3,4 };
std::string Sequence;

int main() {
     std::cout << "Command: " << std::endl;
     std::cin >> Sequence;
     for (int i = 0; i < Sequence.length(); i++) {
         std::cout << i << Sequence[i] << std::endl;
         if( Sequence[i] == "h" || Sequence[i] == "H") {std::cout << i << std::endl;}
     }
}
#包括
int grid[4]={1,2,3,4};
std::字符串序列;
int main(){
std::cout序列;
对于(int i=0;istd::cout
Sequence[i]
是一个
char
,其中as
“h”
是一个
char
数组,正如错误消息所说。您需要的是
Sequence[i]='h'| Sequence[i]='h'
您使用了错误的引号:
用于字符串文字
用于字符文字。您想要的是
'h'
,而不是
'h”
。我肯定这一个有很多重复项。我不确定我们是应该寻找重复项还是仅仅作为一个输入项关闭。我选择你,输入项。你可能想
转换
你的
字符串
toupper
,所以你只需要进行一次比较。在互联网上搜索“c++字符串转换为更低”。也许可以对错误的
int
部分进行解释:
从'const char[2]'到'int'的转换不合适。