在if语句中检查字符串

时间:2019-05-05 13:08:09

标签: c++

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

我也是个白痴,我跳过了一堆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;

}

我想让程序检查字母并相应地分配一个数字。我只是制作了一个简单的脚本来对其进行测试,但出现错误:'letter =='e'中的'operator =='不匹配

2 个答案:

答案 0 :(得分:1)

因为List<WebElement> elements = driver.findElements(By.xpath(actualXpath_1A)); String OneA = ""; if(!elements.isEmpty()){ OneA = elements.get(0).getText(); } else { //Handle if no element present } 是一个字符,而不是字符串。 您将'e'定义为字符串,因此可以执行以下操作之一:

1)将letter定义为字符。

2)将其保留为字符串,并将letter更改为letter = ' ';,将letter = " ";更改为if (letter == 'e')。 (if (letter == "e")代表一个字符串,而""代表一个字符)。

答案 1 :(得分:1)

在C中,字符串是字符数组。 在C ++中,有一个标准库可以扩展C定义。

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

char letter = ' '