Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lec11

.pdf
Скачиваний:
12
Добавлен:
12.02.2015
Размер:
459.76 Кб
Скачать

Работа с файлами на диске.

Так же как это делается при работе со стандартными потоками ввода - вывода можно осуществлять работу с файлами на диске. Для этой цели в библиотеку языка Си включены следующие функции:

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);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]