void main(){
string str;
while (cin>>str)
{
cout << str << " ";
}
system("pause");
}
执行这段代码时为什么我在输入结尾输入 ctrl+z后不会退出循环呢,而是必须要回车
且在开头输入ctrl+z才能结束输入。
比如我这样输入:
a b c d e f g ctrl+z
敲回车,输出是
a b c d e f g ,但程序没结束,会让我继续输出,只有当我敲回车且在开头输入ctrl+z
程序才会结束
string str;
while (cin>>str)
{
cout << str << " ";
}
system("pause");
}
执行这段代码时为什么我在输入结尾输入 ctrl+z后不会退出循环呢,而是必须要回车
且在开头输入ctrl+z才能结束输入。
比如我这样输入:
a b c d e f g ctrl+z
敲回车,输出是
a b c d e f g ,但程序没结束,会让我继续输出,只有当我敲回车且在开头输入ctrl+z
程序才会结束
本文探讨了C++中使用cin输入字符串时,遇到Ctrl+Z作为文件结束符的行为特性。通过一个简单的示例程序解释了为何仅在输入结束后直接按Ctrl+Z无法正确退出循环,以及如何通过按回车键来确保输入流正确识别结束信号。
2081

被折叠的 条评论
为什么被折叠?



