正在进行比较!以及用户输入

Getting comparison between ! and user input

本文关键字:用户 输入 比较 正在进行      更新时间:2023-10-16

我不知道为什么这会给我带来麻烦,我想我在测试的早期就做了,效果很好。

我使用cin获得一些用户输入,然后将其作为char传递给另一个方法。然后我只想说:

if(userInput == '!'){
     //do Something
}

但它没有得到它,所以我尝试将字符定义为:

const char myChar ='u033f';

if(guess == myChar){
    exit(0);
}

但这只会给我带来一些编译错误,即使我是从另一个StackOverflow线程中得到的。

我一定误解了一些根本的东西,有人能启发我吗?

TIA

以下示例适用于我:

#include <iostream>
int main() {
    const char myChar = '!';
    char guess;
    std::cin >> guess;
    if (guess == myChar) {
        exit(0);
    }
    std::cerr << "No!" << std::endl;
}

也许如果你的问题再澄清一点,我可以把这个答案编辑得更完整一点。

好吧,这对我来说很有效,所以我认为你的问题在你没有发布的领域。

#include <iostream>
using namespace std;
int main() {
    char c;
    cin >> c;
    if( c == '!' )
        cout << "Worked!" << endl;
    else
        cout << "Something else..." << endl;    
}

那么,既然我们已经证明了最基本的例子是有效的,那么向我们展示更多的代码怎么样?向我们展示如何声明userInput以及在哪里读入,即完整的工作(或者更确切地说,非工作…)代码示例。

以下内容适用于我,并将捕获一个感叹号。

#include <iostream>
int main()
{
    char a;
    if(std::cin >> a && a=='!')
        std::cout << "! received" << std::endl;
}