为什么在mingw中使用WriteConsoleA没有输出?

Why using WriteConsoleA in mingw has no output?

我正在尝试在 mingw 上编译一个使用 Windows.h 函数打印到控制台的程序。为什么我没有输出? C 文件:

#include <Windows.h>
int main() {
    HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);
    WriteConsoleA(out, "hello", 5, NULL, NULL);
    return 0;
}

要打印到控制台,您的应用程序首先必须是控制台应用程序。 Windows GUI 应用程序可以

确保您使用 -mconsole 标志链接应用程序。

还要确保您没有 运行 从输出可能立即消失的地方(如 IDE)安装应用程序。相反,打开命令提示符并从那里 运行 您的 .exe 文件以查看输出。或者您可以添加一些代码来等待代码中的键,这样您就可以在 window 自动关闭之前看到输出。