我不确定为什么这会给我带来麻烦,我想我之前在测试中做过它并且运行正常。
我使用cin
获得一些用户输入,然后将其作为char传递给另一个方法。我只是想说:
if(userInput == '!'){
//do Something
}
但它没有得到它,所以我尝试将char定义为:
const char myChar ='\u033f';
if(guess == myChar){
exit(0);
}
但是这只是给我一些编译错误,即使你是从另一个StackOverflow线程获得的。
我必须误解一些根本的东西,有人可以启发我吗?
TIA
答案 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;
}