在控制台中看不到 Windows 程序的标准输出(在 Windows 上用 Clang 编译)

标签 c windows winapi clang

当我使用 clang 构建一个简单的控制台应用程序时,它运行良好:

void main() { puts("HELLO"); }

但是当我使用 WinMain 创建 Windows 应用程序时,我看不到标准输出。

必须有一个修复它的标志,就像 MinGW 的 -mconsole

最佳答案

用于其他 GUI 应用程序的快速标准输出启用程序:

if (AllocConsole())
{
    FILE* fi = 0;
    freopen_s(&fi, "CONOUT$", "w", stdout);
}

然后 std::coutprintf 工作。

关于在控制台中看不到 Windows 程序的标准输出(在 Windows 上用 Clang 编译),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55458264/

相关文章:

objective-c - 有没有不需要同时输入全部的MD5库?

c - 如何理解进程的 Linux top 命令结果?

c++ - 错误 C2297 : '*' : illegal, 右操作数的类型为 'BYTE *'

.net - 预定的控制台应用程序与 Windows 服务?什么时候适合使用每个

python - Tkinter 进度条在 Windows 下不工作

windows - 线程 “main”中的异常0:无此类文件或目录:hadoop map reduce

c - 空指针类型转换

c++ - 使用带重音的单词会出错

delphi - Delphi对话框中的V形按钮

c - 从 C 中的 typedef 中减去一个值?