C++使用cout输出内容无法在CMD命令提示符正常显示问题求助
C++ MinGW环境CMD无输出解决方法
- 首先确认运行流程正确:
编译完成后不要直接双击生成的exe文件,要在对应目录下打开CMD,输入exe文件名.exe手动运行,双击运行时程序执行完会立刻关闭窗口,你看不到输出内容。 - 如果按上述流程运行还是无输出,属于MinGW在Windows平台的标准输出缓冲适配问题,两种解决方式:
- 修改代码,在程序退出前加暂停语句,同时确保输出缓冲被刷新,修改后的参考代码如下:
#include <iostream> using namespace std; int main(void) { std::cout << "Hello"; std::cout.flush(); // 加暂停语句,阻止程序执行完直接退出 system("pause"); return 0; }- 不改代码的情况下,编译时添加强制刷新缓冲的参数,编译命令改为:
g++ 你的源文件名称.cpp -o 生成的exe名称.exe -u _CRT_fmode
- 额外排查点:如果你使用VSCode集成终端运行,确认终端类型选择为CMD,不要选择WSL、Git Bash等其他终端,MinGW编译的Windows原生程序在非CMD环境下运行可能出现IO异常。
内容的提问来源于stack exchange,提问作者3D_Dev
相关产品推荐
相关产品推荐

