输出字符串末尾的空白不与字符串一起打印,而是与其后的下一个打印行一起打印

2024-04-25

我尝试打印一行,要求用户输入,获取输入,然后再次打印一些行。问题是,在我获得输入后,第一个打印行末尾的空白不是打印在该行的末尾,而是打印在第二个打印行的开头。

我对 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(使用前将#替换为@)

输出字符串末尾的空白不与字符串一起打印,而是与其后的下一个打印行一起打印 的相关文章

随机推荐