我正在研究this answer的一个示例,我注意到http://ideone.com会让我从EOF
读到cin
,但Visual Studio 2015不会。
例如,给定程序:
string i;
while(cin >> i) cout << i << endl;
我可以提供输入:
Lorem Ipsum
http://ideone.com将终止:http://ideone.com/22uNOr
Visual Studio 2015将继续等待输入,直到我按 Ctrl + Z 并点击 Enter < / p>
这是gcc / Visual Studio的区别还是http://ideone.com正在做的事情?
答案 0 :(得分:0)
在http://ideone.com上,您可以在“输入”标签上提供输入。输入此框的任何内容都会被输入cin
后附加eof
个字符。
例如,如果你这样做:
while (cin.get() != decltype(cin)::traits_type::eof());
在您的本地计算机上,在您按 Ctrl + z 并按 Enter 之后永远不会回来,但在http://ideone.com上解析输入“输入”选项卡的所有内容后,将始终返回。