ВУЗ:
Составители:
Рубрика:
42
функции putc() выполняется запись символов в файл, на который указывает
указатель fp. Перед завершением программы открытый файл следует закрыть
во избежание в нем потери данных. Это достигается функцией fclose(), которая
принимает указатель на файл и возвращает значение 0 при успешном закрытии
файла, иначе значение EOF.
Рассмотрим теперь пример программы считывания информации из файла.
Листинг 8. Считывание
текстовой информации из файла.
#include <stdio.h>
int main()
{
char str_file[100];
FILE* fp = fopen(“my_file.txt”,”r”);
if(fp != NULL)
{
int i=0;
char ch;
while((ch = getc(fp)) != EOF)
str_file[i++]=ch;
str_file[i] = ‘\0’;
printf(str_file);
}
else printf(“Невозможно открыть файл на чтение.\n”);
fclose(fp);
return 0;
}
В приведенном листинге функция fopen() открывает файл на чтение, что
определяется значением второго аргумента равного «r». Это значит, что в него
невозможно произвести запись данных, а только считывание. Сначала
выполняется цикл while, в котором из файла считывается символ с помощью
функции getc() и выполняется проверка: если считанное значение не равно
символу конца файла EOF, то
значение переменной ch записывается в массив
str_file. Данный цикл будет выполняться до тех пор, пока не будут считаны все
символы из файла, т.е. пока не будет достигнут символ EOF. После завершения
цикла формируется строка str_file, которая выводится на экран с помощью
функции printf(). Перед завершением программы также выполняется функция
закрытия файла fclose().
Работа с текстовыми
файлами через функции putc и getc не всегда удобна.
Например, если необходимо записать или считать строку целиком, то
желательно иметь функции, выполняющие эту работу. В качестве таковых
можно воспользоваться функциями fputs() и fgets() для работы со строками.
Перепишем предыдущие примеры с использованием данных функций.
Листинг 9. Использование функций fpust() и fgets().
#include <stdio.h>
Страницы
- « первая
- ‹ предыдущая
- …
- 40
- 41
- 42
- 43
- 44
- …
- следующая ›
- последняя »