C++ 检查if语句中的字符串

C++ 检查if语句中的字符串,c++,C++,基本上只是尝试使用==检查字符 也是一个白痴,我跳过了一组C++类,我不知道字符串是如何执行语法的,所以任何帮助都会非常感激 #include <string> using namespace std; int main(void) { string letter; int number; letter = ' '; cout << "Please enter any ASCII letter" << endl;

基本上只是尝试使用==检查字符

也是一个白痴,我跳过了一组C++类,我不知道字符串是如何执行语法的,所以任何帮助都会非常感激

#include <string>

using namespace std;

int main(void)
{
    string letter;
    int number;

    letter = ' ';

    cout << "Please enter any ASCII letter" << endl;
    cin >> letter;


    if (letter == 'e')                       //Error is here
        {
            number = 1;
            cout << number << endl;
        }

    return 0;

}
#包括
使用名称空间std;
内部主(空)
{
字符串字母;
整数;
字母=“”;
信纸;
如果(字母=='e')//这里有错误
{
数字=1;

cout因为
'e'
是字符,而不是字符串。 您将字母定义为字符串,因此可以执行以下操作之一:

1) 将
字母
定义为字符


2) 将其保留为字符串,并将
letter='';
更改为
letter=“”;
if(letter='e')
更改为
if(letter='e”)
表示字符串,而
表示字符)。 在C++中,有一个扩展C定义的标准库。

在C和C++中,单引号和双引号有区别。 “d”表示字符d,“d”表示字符串d。 因此,这似乎是一个无效的类型错误。如果选择使用std::string类型,则可以通过数组索引[0]获取第一个字符。 但我想知道你为什么不这样做

char字母=“”

C++不是脚本语言……你有书吗?然后(从头开始)读。否则,你将字母定义为字符串,并将字符串与字符进行比较。你不能这样做。你可以将字母[0]与“e”进行比较。