Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么右括号字符的值有时不是';)';从std::cin读取输入后? 我正在浏览一些C++教程,我碰到了一个很小的问题,但现在我正在难堪。当我用XCODE 11.3输出C++中的一个封闭括号字符的值时,它有时输出为看起来像Unicode字符的字符。 #include <iostream> int main() { int x; char ch1, ch2; std::cin >> ch1 >> x >> ch2; if (!std::cin || ch1 != '(' || ch2 != ')') { std::cout << "FAIL:\n"; std::cout << "ch1 = " << ch1 << "\n"; std::cout << "x = " << x << "\n"; std::cout << "ch2 = " << ch2 << "\n"; return 1; } else { std::cout << "SUCCESS:\n"; return 0; } }_C++ - Fatal编程技术网

为什么右括号字符的值有时不是';)';从std::cin读取输入后? 我正在浏览一些C++教程,我碰到了一个很小的问题,但现在我正在难堪。当我用XCODE 11.3输出C++中的一个封闭括号字符的值时,它有时输出为看起来像Unicode字符的字符。 #include <iostream> int main() { int x; char ch1, ch2; std::cin >> ch1 >> x >> ch2; if (!std::cin || ch1 != '(' || ch2 != ')') { std::cout << "FAIL:\n"; std::cout << "ch1 = " << ch1 << "\n"; std::cout << "x = " << x << "\n"; std::cout << "ch2 = " << ch2 << "\n"; return 1; } else { std::cout << "SUCCESS:\n"; return 0; } }

为什么右括号字符的值有时不是';)';从std::cin读取输入后? 我正在浏览一些C++教程,我碰到了一个很小的问题,但现在我正在难堪。当我用XCODE 11.3输出C++中的一个封闭括号字符的值时,它有时输出为看起来像Unicode字符的字符。 #include <iostream> int main() { int x; char ch1, ch2; std::cin >> ch1 >> x >> ch2; if (!std::cin || ch1 != '(' || ch2 != ')') { std::cout << "FAIL:\n"; std::cout << "ch1 = " << ch1 << "\n"; std::cout << "x = " << x << "\n"; std::cout << "ch2 = " << ch2 << "\n"; return 1; } else { std::cout << "SUCCESS:\n"; return 0; } },c++,C++,但是,如果右括号用作流中的第一个字符,它将按预期输出为字符) 我猜这与如何转义有关,或者可能与我如何使用输入流有关的逻辑错误有关。有人能告诉我我做错了什么吗?当我在输入流中键入内容时,Xcode会自动完成结束括号。显然,我直到刚才才注意到这一点,输入看起来是正确的,但显然没有实际的击键。当我在输入流中键入时,Xcode自动完成结束括号。显然,我直到现在才注意到这一点,输入看起来是正确的,但显然没有实际的击键。如果从某个地方复制输入(可能是TextEdit)并粘贴它,然后输入会发生什么?\357是

但是,如果右括号用作流中的第一个字符,它将按预期输出为字符



我猜这与如何转义有关,或者可能与我如何使用输入流有关的逻辑错误有关。有人能告诉我我做错了什么吗?

当我在输入流中键入内容时,Xcode会自动完成结束括号。显然,我直到刚才才注意到这一点,输入看起来是正确的,但显然没有实际的击键。

当我在输入流中键入时,Xcode自动完成结束括号。显然,我直到现在才注意到这一点,输入看起来是正确的,但显然没有实际的击键。

如果从某个地方复制输入(可能是TextEdit)并粘贴它,然后输入会发生什么?\357是0xEF的八进制,这可疑地是utf8中用于表示endianness的字节顺序标记的第一个字节。我想知道是否正在使用序列0xEF 0xBB 0xBF。你能试着把ch2变成一个字符[4]并试着
*ch2!=')吗?@tedlynmo当我将您的程序复制到Xcode中时,请删除并重新键入
(2)
,它工作正常。因此,我认为这一定与手动将字符输入终端/标准输入有关。我想我知道这是什么。当我在输入流中输入时,Xcode自动完成结束括号。很明显,我直到现在才注意到这一点,输入看起来是正确的,但显然没有实际的击键。谢谢大家的帮助。如果您从某处复制输入(可能是文本编辑)并粘贴它,然后输入会发生什么?\357是0xEF的八进制,这可疑地是utf8中用于表示endianness的字节顺序标记的第一个字节。我想知道是否正在使用序列0xEF 0xBB 0xBF。你能试着把ch2变成一个字符[4]并试着
*ch2!=')吗?@tedlynmo当我将您的程序复制到Xcode中时,请删除并重新键入
(2)
,它工作正常。因此,我认为这一定与手动将字符输入终端/标准输入有关。我想我知道这是什么。当我在输入流中输入时,Xcode自动完成结束括号。很明显,我直到现在才注意到这一点,输入看起来是正确的,但显然没有实际的击键。谢谢大家的帮助。多么奇怪的行为啊。我想知道它到底在流中插入了什么。你到底在哪里键入这个?在Xcode底部的目标输出窗口中。我同意这是非常令人困惑的,而且在大多数情况下似乎没有帮助。听起来像是!!多么奇怪的行为啊。我想知道它到底在流中插入了什么。你到底在哪里键入这个?在Xcode底部的目标输出窗口中。我同意这是非常令人困惑的,而且在大多数情况下似乎没有帮助。听起来像是!!
FAIL:
ch1 = (
x = 2
ch2 = \357