且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在 C++/Windows 中输出到控制台

更新时间:2022-11-08 23:14:22

既然你提到了stdout.txt,我就用谷歌搜索看看究竟是什么会创建一个stdout.txt;通常,即使使用 Windows 应用程序,控制台输出也会发送到分配的控制台,如果没有分配,则不会发送到任何地方.

Since you mentioned stdout.txt I google'd it to see what exactly would create a stdout.txt; normally, even with a Windows app, console output goes to the allocated console, or nowhere if one is not allocated.

因此,假设您使用的是 SDL(这是唯一会产生 stdout.txt 的东西),您应该遵循建议 这里.使用CON"打开标准输出和标准错误,或者在那里执行其他链接器/编译解决方法.

So, assuming you are using SDL (which is the only thing that brought up stdout.txt), you should follow the advice here. Either freopen stdout and stderr with "CON", or do the other linker/compile workarounds there.

如果链接再次断开,这正是从 libSDL 中引用的内容:

In case the link gets broken again, here is exactly what was referenced from libSDL:

如何避免创建 stdout.txt 和 stderr.txt?

How do I avoid creating stdout.txt and stderr.txt?

我相信在 SDL 附带的 Visual C++ 项目中有一个 SDL_nostdio 目标 > 你可以构建它做你想做的事(TM)."

"I believe inside the Visual C++ project that comes with SDL there is a SDL_nostdio target > you can build which does what you want(TM)."

如果您定义NO_STDIO_REDIRECT"并重新编译 SDL,我认为它会解决问题."> >(由 Bill Kendrick 提供答案)

"If you define "NO_STDIO_REDIRECT" and recompile SDL, I think it will fix the problem." > > (Answer courtesy of Bill Kendrick)