int getc(FILE *f);
int fgetc(FILE *f);
Функции возвращают очередной символ в
форме int из потока f. Если символ не может быть
прочитан, то возвращается значение EOF.
int putc(int ch, FILE *f);
int fputc(int ch, FILE *f);
Функции записывают символ ch в поток f. При ошибке возвращается значение EOF, иначе – записанный
символ.
char *fgets(char *s, int n, FILE *f);
Функция читает не более n-1 байт из потока f в строку s, прекращая чтение при обнаружении
символа новой строки или конца файла. Символ новой строки при чтении не
отбрасывается, а помещается в конец строки. Прочитанная строка дополняется
ограничителем строки ('\0'). При обнаружении ошибки или конца файла
возвращается NULL. При
успешном завершении чтения функция возвращает указатель на строку s.
int fputs(const char *s, FILE *f);
Функция записывает строку символов s в поток f. Символ конца строки в файл не
записывается. При ошибке возвращает значение EOF, иначе – неотрицательное число.
Функция fscanf ( ) имеет следующий прототип:
int fscanf(FILE *f,const char
*format[, address, ...]);
Она во всем аналогична функции scanf ( ), за исключением
того, что форматированный ввод осуществляется не со стандартного устройства
ввода, а из файлового потока f.
Функция fprintf ( ) имеет следующий прототип:
int fprintf(FILE *f, const char *format[, argument,...])
Она во всем аналогична функции printf (), но осуществляет
форматированный вывод не на стандартное устройство вывода, а в файловый поток f.
Функция feof ( ) является на самом деле макросом
и позволяет осуществлять проверку на достижение символа конца файла при
операциях ввода-вывода. Она имеет следующий прототип:
int feof(FILE *f);
Она возвращает ненулевое значение, если
был обнаружен конец файла при последней операции ввода в поток f и 0, если конец файла еще
не достигнут.
Рассмотрим пример файлового ввода и
вывода. Перед использованием данной программы следует убедится в наличии файла D:\MyLoveFile.txt. Его можно создать с помощью
редактора Блокнот:
FILE *in, *out;
if ((in = fopen("D:\\MyLoveFile.txt", "rt")) ==
NULL)
{
printf(RUS("\nНевозможно открыть файл D:\MyLoveFile.txt.\n"));
getch();
return 1;
}
if ((out = fopen("D:\\MyLoveFile.bak", "wt")) ==
NULL)
{
printf(RUS("\nНевозможно открыть файл D:\MyLoveFile.ВАК.\n"));
getch();
return 1;
}
while (!feof(in))
fputc( fgetc(in),out);
fclose(in);
fclose(out);
printf(RUS("Копия MyLoveFile.ВАК файла MyLoveFile.txt успешно
создана.\n"));
|