lec11
.pdfРабота с файлами на диске.
Так же как это делается при работе со стандартными потоками ввода - вывода можно осуществлять работу с файлами на диске. Для этой цели в библиотеку языка Си включены следующие функции:
Ifgetc()/fputc() - чтение/запись одного символа.
Ifscanf()/fprintf() форматный ввод/вывод.
Работа с файлами на диске.
Так же как это делается при работе со стандартными потоками ввода - вывода можно осуществлять работу с файлами на диске. Для этой цели в библиотеку языка Си включены следующие функции:
Ifgetc()/fputc() - чтение/запись одного символа.
Ifscanf()/fprintf() форматный ввод/вывод.
Ifgets()/fputs() - чтение/запись строки.
Двоичный (бинарный) режим обмена с файлами.
Двоичный режим обмена организуется с помощью функций fgetc()/fputc() и имеет следующий формат:
c - переменная.
Программа вывода символьного файла на экран.
Строковый обмен с файлами.
Строковый обмен организуется с помощью функций fgets()/fputs().
Прототипы этих функций в файле stdio.h имеют вид:
Пример.
Режим форматного обмена с файлами.
Функции форматного ввода - вывода fscanf()/fprintf() имеют следующие прототипы:
Пример: Программа создает файл int.dat и записывает в него числа от 1 до 10 и их квадраты.
Позиционирование в потоке.
Рассмотрим средства позиционирования в потоке, позволяющие перемещать указатель (индикатор) текущей позиции на нужный байт. Функция имеет следующий прототип:
Смещение задается переменной или выражением типа long и может быть отрицательным. Начало отсчета задается одной из предопределенных констант:
Пример: pos = (k − 1) 32 + lan 10; fseek(fp, pos, SEEK_SET);