Я пытаюсь вывести сжатую строку 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.