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;
标准输出被缓冲,换行时缓冲区被刷新。
我有几个 std::cout
语句,其中一些语句在程序结束之前不会将输出打印到控制台。但是我输入 getchar()
,它开始打印输出。为什么会这样,有人可以解释一下吗?
问题可能是因为您没有尝试刷新输出。你可以这样尝试:
std::cout << "some text" << std::flush;
或喜欢
std::cout << "some text" << std::endl;
标准输出被缓冲,换行时缓冲区被刷新。