C++ C++;相互比较字符
我试图写一些东西,我需要看到用户输入的单个字母。例如,一个可能的输入是“hvhh”。目前,我希望一次遍历字符串一个字符。所以字符0是H,它执行命令1(现在它只打印字母)。字符1为V,不执行命令2(未实现)。字符2是V,不执行命令2。下面是我写的东西,但是它在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
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;i std::coutSequence[i]
是一个char
,其中as“h”
是一个char
数组,正如错误消息所说。您需要的是Sequence[i]='h'| Sequence[i]='h'
您使用了错误的引号:“
用于字符串文字”
用于字符文字。您想要的是'h'
,而不是'h”
。我肯定这一个有很多重复项。我不确定我们是应该寻找重复项还是仅仅作为一个输入项关闭。我选择你,输入项。你可能想转换你的字符串
或toupper
,所以你只需要进行一次比较。在互联网上搜索“c++字符串转换为更低”。也许可以对错误的int
部分进行解释:从'const char[2]'到'int'的转换不合适。