我尝试打印一行,要求用户输入,获取输入,然后再次打印一些行。问题是,在我获得输入后,第一个打印行末尾的空白不是打印在该行的末尾,而是打印在第二个打印行的开头。
我对 C++ 完全陌生,所以我不能真正尝试太多,但我尝试在没有提示用户输入的部分的情况下打印代码,并且它打印空间很好,但是当我添加std::cin << input;
空格被发送到第二行的开头。
My code:
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 https://youtrack.jetbrains.com/issue/CPP-7437
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)