printf() в случае успеха возвращает число записанных байт.
putchar() возвращает EOF в случае если не получилось записать символ.
С одной стороны хорошо бы каждый раз при вызове любой системной функции проверять возвращаемое значение, но делать это бывает чересчур утомительно, в случае если подобных вызовов достаточно много.
Вместо этого можно проверять были ли ошибки на стандартном потоке вывода перед завершением программы.
В Java для этого пользуются методом checkError(); в С++ для этого пользуются методами fail(), good() или bad(); и в коде на C пользуется функция ferror: if (ferror (stdout )) err (1, "stdout");
Подписаться на:
Комментарии к сообщению (Atom)
Но в таком случае опять же непонятно, в каком именно месте произошла ошибка.
ОтветитьУдалитьсовершенно верно. Но ведь каждый раз пользуясь printf'ом ты же тоже не проверяешь возвращаемое значение?
ОтветитьУдалить