程序结束时 C++ 控制台输出不会切换到新行

1 c++ io bash iostream ostream

所以我刚刚开始学习 C++,我只是想把一切都设置好。当我为我的 hello world 代码运行编译的二进制文件时,它显示控制台输出,但之后不会切换到新行。这是一个例子:

Hello, World!michaela@michaela-HP-Laptop-17-by4xxx: $

我尝试研究,但找不到好的解决方案。我使用的是 Ubuntu 20.04,并使用 BASH shell。如果有任何帮助,我会提供代码,尽管我对此表示怀疑,因为它实际上只是输出“Hello,World!”。

#include <iostream>

int main(){
    std::cout << "Hello, World!";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

dav*_*man 5

对于大多数编程语言来说,这是完全正常的,尤其是在 Unix 环境中。printf如果您使用或 ,即使是 shell 脚本也会在打印时不带换行符echo -n。由于终端模拟了旧的类似电传打字机的基于打印机的系统,光标不会仅仅因为程序退出而重置。

如果您想要换行符,请'\n'在字符串中添加 a 或std::endl在文本后输出 a 。