c++ - 输出字符串末尾的空白不与字符串一起打印,而是与它之后的下一个打印行一起打印
问题描述
我试图打印一条要求用户输入的行,获取输入,然后再次打印一些行。问题是,在我得到输入后,第一行打印行末尾的空白不是打印在行尾,而是打印在第二行打印行的开头。
我对 C++ 完全陌生,所以我不能真正尝试太多,但是我尝试在没有提示用户输入的部分的情况下打印代码,并且它打印的空间很好,但是当我添加std::cin << input;
空间时得到发送到第二行的开头。
我的代码:
int input;
std::cout << "Enter your favorite number between 1 and 100: ";
std::cin >> input;
std::cout << "Amazing... That's my favorite number too... wow..." << std::endl;
我希望输出是
Enter your favorite number between 1 and 100: //some input
Amazing... That's my favorite number too... wow...
(注意前面的空格//some input
)
相反,我得到
Enter your favorite number between 1 and 100://some input
Amazing... That's my favorite number too... wow...
(注意前面的空格Amazing
)
编辑:如果可以连接,我正在使用 Clion。另外,我尝试在 powershell 上运行可执行文件,它按预期工作,没有问题,所以这与 Clion 终端有关。另外,我使用 Windows 10 作为我的操作系统。
第二次编辑:将我的发现添加到我的答案中。
解决方案
这似乎是 Clion 的缓冲输入的问题。看到这个问题:https ://youtrack.jetbrains.com/issue/CPP-7437
推荐阅读
- c# - Spark:无法连接到主 192.168.1.29:7077
- api - 用于快速开发 REST API 的移动/桌面前端的便捷堆栈?
- azure-devops - macOS 自托管构建代理在作为启动服务运行时无法启动
- windows - Windows Server 2019 上的 Docker 问题:未运行 Linux 容器
- azure - 在 azure 上部署 React Web 应用程序的权限被拒绝
- java - 多个布局上的相同按钮(带有操作)
- python - 当导入 bw2temporalis 不起作用时,因为包上的拼写错误
- laravel - laravel 碳迁移中的当前时间戳
- windows - 两个类似应用程序的不同颜色 Windows 10
- node.js - 如何在 typescript 中使用 mongoose 在 mongodb 中插入数据?