кодовые блоки 8.02 консольная программа не выводит операторы cout с SDL - PullRequest
0 голосов
/ 08 октября 2009

В настоящее время я использую библиотеку SDL-devel-1.2.13-mingw32 в блоках кода 8.02. с mingw 5.1.6, установленной отдельно на C: \, эта программа компилируется и работает без ошибок, но я не вижу последнюю систему («пауза»); на экране. Когда я нажимаю любую клавишу, она, конечно, пропускает систему («пауза»); затем блоки кода говорят мне, что он успешно запустился. Он также не показывает cout << "SDL \ n"; WTF? </p>

</p>

#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 голосов
/ 09 марта 2011

Это действительно старая версия, однако есть две строки, которые можно добавить в начало функции main (), чтобы она работала:

freopen("CON", "w", stdout);
freopen("CON", "w", stderr);
0 голосов
/ 08 октября 2009

В зависимости от параметров, используемых для компиляции SDL, вывод консоли может быть перенаправлен в файлы с именами stdout.txt и stderr.txt - это значение по умолчанию для большинства сборок Windows.

См. Эту статью вики для решения: http://www.libsdl.org/cgi/docwiki.cgi/FAQ_Console

...