std::cout 直到程序结束才打印输出

std::cout output not printed till program ends

我有几个 std::cout 语句,其中一些语句在程序结束之前不会将输出打印到控制台。但是我输入 getchar(),它开始打印输出。为什么会这样,有人可以解释一下吗?

问题可能是因为您没有尝试刷新输出。你可以这样尝试:

std::cout << "some text" << std::flush;

或喜欢

std::cout << "some text" << std::endl;

标准输出被缓冲,换行时缓冲区被刷新。