C++ std::在程序结束前不能打印输出

C++ std::在程序结束前不能打印输出,c++,cout,getchar,C++,Cout,Getchar,我有一些std::cout语句,其中很少有语句在程序结束之前不会将输出打印到控制台。但当我放入getchar(),它开始打印输出。为什么会发生这种情况,有人能解释一下吗?问题可能是因为您没有尝试刷新输出。您可以这样尝试: std::cout << "some text" << std::flush; 当读取标准输入时,std::cout也会看到,标准输出也会刷新,这就是为什么getchar()可以工作的原因。 std::cout << "some text"

我有一些
std::cout
语句,其中很少有语句在程序结束之前不会将输出打印到控制台。但当我放入
getchar()
,它开始打印输出。为什么会发生这种情况,有人能解释一下吗?

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

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

当读取标准输入时,
std::cout也会看到,标准输出也会刷新,这就是为什么
getchar()
可以工作的原因。
std::cout << "some text" << std::endl;