比较之间!和用户输入

时间:2012-03-13 00:14:46

标签: c++

我不确定为什么这会给我带来麻烦,我想我之前在测试中做过它并且运行正常。

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

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

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

const char myChar ='\u033f';


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

}

但是这只是给我一些编译错误,即使你是从另一个StackOverflow线程获得的。

我必须误解一些根本的东西,有人可以启发我吗?

TIA

3 个答案:

答案 0 :(得分:2)

嗯,这对我有用,所以我认为你的问题出在你尚未发布的区域。

#include <iostream>

using namespace std;

int main() {
    char c;
    cin >> c;

    if( c == '!' )
        cout << "Worked!" << endl;
    else
        cout << "Something else..." << endl;    
}

那么,既然我们已经证明了最基本的示例,那么向我们展示更多代码呢?告诉我们您如何声明userInput以及您在何处阅读,即完整工作(或更确切地说,非工作......)代码示例。

答案 1 :(得分:2)

以下示例适用于我:

#include <iostream>

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

也许如果你的问题得到澄清,我可以编辑这个答案,使其更加完整。

答案 2 :(得分:0)

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

#include <iostream>

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