gpt4 book ai didi

c++ - 在 std::cout 之后使用 std::cin 时换行符来自哪里?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:10:00 25 4
gpt4 key购买 nike

考虑下面的简单例子

#include <iostream> 

int main()
{
using namespace std;
char name[30];

cout << "What is your first name: ";
cin >> name;
cout << "Hello " << name << endl;

return 0;
}

该程序的示例输出如下:

What is your first name: Bob
Hello Bob

该程序按预期工作,但我不明白输出流如何知道转到下一行。我基本上是在考虑两个独立的信息流,并且对输出流如何知道进入下一个只是因为它后面跟着输入感到困惑。换行符从哪里来??

最佳答案

输出流不会转到下一行。

您在键入名称后按了 Enter。终端有本地回显,这意味着您在键盘上输入的字符会回显到终端。

您在屏幕上看到的“Bob”和换行符是您输入的,而不是因为它们是由您的程序发送到 cout 的。

如果您使用的终端关闭了本地回显,或者如果您通过管道从包含 Bob 的文件输入,那么输出将如下所示:

What is your first name: Hello Bob

关于c++ - 在 std::cout 之后使用 std::cin 时换行符来自哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28520350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com