代码块8.02控制台程序不使用SDL输出cout语句

时间:2009-10-08 01:17:18

标签: c++ console mingw sdl

我目前在代码块8.02中使用SDL-devel-1.2.13-mingw32库。将mingw 5.1.6单独安装在C:\上,这个程序编译运行没有错误,但我看不到最后一个系统(“暂停”);屏幕上。当我按任意键时,它当然会跳过系统(“暂停”);然后代码块告诉我它成功运行了。它也没有显示cout<< “SDL \ n”; WTF?

#include <iostream> #include <SDL.h> using namespace std; int main(int argc, char *argv[]) { cout << " SDL \n"; cout << endl; if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) == -1) { cerr << "Failed to initialize SDL: " << SDL_GetError() << endl; exit(1); } atexit(SDL_Quit); system("pause");` return 0; }

2 个答案:

答案 0 :(得分:0)

根据用于编译SDL的选项,控制台输出可能会重定向到名为stdout.txt和stderr.txt的文件 - 这是大多数Windows版本的默认设置。

有关解决方案,请参阅此Wiki文章:http://www.libsdl.org/cgi/docwiki.cgi/FAQ_Console

答案 1 :(得分:0)

这真的很旧,但是你可以在main()的开头添加两行来让cout工作:

freopen("CON", "w", stdout);
freopen("CON", "w", stderr);