ВУЗ:
Составители:
Рубрика:
Если необходимо завершить работу с несколькими файлами, можно использовать функцию
int fcloseall(void);
Для осуществления операций ввода-вывода из потока используются функции:
1) для посимвольного ввода-вывода используются функции:
int fgetc(FILE *); – ввод одного символа;
int fputc(int , FILE *); – вывод одного символа;
2) для построчного ввода-вывода используются функции:
char *fgets(char *str, int n, FILE *f); – передает n байт из потока, связанного с указателем f, в строку по
адресу str;
int fputs(char *str, FILE *f); – переносит байты из строки str в поток с указателем f;
3) функции блокового ввода-вывода работают в двоичном режиме открытия файла:
int fread(void *ptr, int size, int n, FILE *f); – считывает n элементов размером size каждый из открытого
файла f и помещает их в оперативную память по адресу ptr, в случае неудачи возвращает значение EOF;
int fwrite(void *ptr, int size, int n, FILE *f); – записывает n элементов размером size байт каждый, опреде-
ляемых адресом ptr, в открытый файл с указателем f, в случае неудачи возвращает значение EOF;
4) функции форматного ввода-вывода для текстового режима
int fscanf(FILE *f, char *format, ...);
int fprintf(FILE *f, char *format, ...);
Эти функции форматного ввода-вывода аналогичны функциям scanf и printf.
Содержимое файла, представляющее последовательность байт, часто сравнивают с магнитной лен-
той. Место на ленте, с которым в данный момент осуществляется работа, определяется значением ука-
зателя типа FILE *, связанного с файлом. После проведения операции чтения/записи указатель соответ-
ствующим образом изменяет значение, настраиваясь на следующую порцию информации. Однако не-
удобство последовательного чтения при работе с файлом состоит в том, что для нахождения n-й записи
нужно последовательно считать (n–1) предыдущие записи в файле. В библиотеке stdio.h описан ряд
функций, позволяющих изменить такой режим работы, устанавливая указатель на нужное место в фай-
ле:
void rewind(FILE *); – устанавливает указатель потока на его начало;
int feof(FILE *); – проверка окончания файла (1 – если файл закончен);
int fseek(FILE *f, long offset, int n); – перемещает указатель в заданное место файла. "Сдвиг" выполняет-
ся на указанное в offset число байт.
Переменная n указывает точку отсчета в файле: 0 – от начала файла;
1 – от текущей позиции; 2 – от конца файла. Если offset > 0 – сдвиг выполняется в строку конца файла,
если offset < 0 – в сторону начала файла. При удачном завершении функция возвращает ноль.
11.6 Алгоритмы для сложных типов данных
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »
