Обратная связи от функций обработки файлов c?

Задача - реализовать проверку на каждом этапе работы с файлом. Получается только самый банальный пример f((fp=fopen("test", "w")) == NULL) А вот чтение, запись проверить не получается. В первую очередь непонятно, какие из этих функций вроде fwrite(), fputs(), fprintf()... Использовать для этого. Все они возвращают какое-то значение. Можно ли его записать в переменную и какого типа она должна быть?


Ответы (1 шт):

Автор решения: Harry

Каждая функция описана в стандарте - что она принимает, что возвращает. Например, fwrite - количество успешно записанных объектов, fputs - неотрицательное значение при успешной работе, и так далее.

Так что вы должны отталкиваться не от того, какие функции использовать для проверки, а какие функции нужны в вашей программе. А уже потом выполнять проверку, соответствующую выбранной функции. Типа

int rc = fputs("String",file);
if (rc == EOF) // Обработка ошибки

Так что еще раз - при выборе функций отталкивайтесь от необходимой в программе функциональности. Дальше - проверяйте, что именно функция возвращает, а что это означает - успех или неудачу - смотрите в документации..

→ Ссылка