gpt4 book ai didi

C++ 不会打印尾随空格

转载 作者:行者123 更新时间:2023-12-01 14:18:28 24 4
gpt4 key购买 nike

在我学习 C++ 的简单程序中,我会询问用户他们的名字,然后问候他们。

#include <iostream>

int main() {
std::string name;

std::cout << "Enter your name: ";
std::getline(std::cin, name);

std::cout << "Hello, " << name << "!\n";
}

但是,这是我在 CLion 中的结果:

enter image description here

我希望程序在提示输入我的名字后打印出尾随空格。但是,它在我给程序输入后 打印空格。我只在 CLion 中遇到过这种情况,但在其他 IDE 中没有。为什么会发生这种情况,我该如何解决?

最佳答案

你需要刷新你的流:

std::cout << "Enter your name: " << std::flush;

std::cout 是一个缓冲流,这意味着虽然您对其的写入不会立即写入底层设备,但它会存储在缓冲区中。这样做是出于性能原因。 std::endl 有一个隐式刷新操作,这就是为什么如果你总是在请求输入之前添加一个 std::endl 你不会注意到这一点。否则,就像您看到的那样。

关于C++ 不会打印尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61470335/

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