стандартный отказ - PullRequest
       16

стандартный отказ

1 голос
/ 20 декабря 2011

Я пытаюсь вывести сжатую строку zlib в стандартный вывод, и происходит нечто действительно странное.После успешного выполнения операции zlib deflate (все правильные возвращаемые значения проверены), я пытаюсь вывести результат в неотформатированном виде одним из следующих способов:

fwrite((void*)output, 1, numbytes, stdout);

ИЛИ

for(int i=0; i != numbytes; ++i)
    cout.put(output[c]);
if(!cout.good())
    throw error();

В любомесли ничего не выводится и stdout не работает.В случае кода iostream cout.good () возвращает true, биты сбоя не устанавливаются!При использовании fwrite я проверяю ferror, и это тоже нормально !!!Под выводом stdout я подразумеваю, что ничего не выводится через stdout до конца сеанса приложения.Я попытался сбросить состояние ошибки stdout с соответствующими интерфейсами, но безрезультатно.

Я твердо склонен полагать, что это ошибка библиотеки, поскольку что-то подобное не должно работать со сбоями.

Все это происходит под OSX 10.6 с XCode 4.2.

1 Ответ

0 голосов
/ 21 декабря 2011

Вероятно, это проблема XCode или GDB.Я не могу воспроизвести ошибку, запущенную из консоли или из-под Windows.

...