Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора программирование (2 модуль).docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
40.96 Кб
Скачать

22.Обязательная последовательность действий при работе с файлами. Описание файловой переменной.

При работе с файлами необходимо выполнять следующую последовательность действий:

  1. описать переменную-указатель на файл

  2. открыть файл, указав тип работы с данными файла(чтение/запись)

  3. произвести чтение или запись данных

  4. закрыть файл

  5. произвести вспомогательные действия с файлом:

    1. проверка конца файла

    2. проверка ошибки

Описание файловой переменной. Для этого используется специальный тип FILE *F .

23.Открытие файла.

Для открытия файла используется функция F1 = fopen(“путь к файлу”, “тип работы с файлом”). Указывая путь к файлу следует использовать следующие спецификации: c:\\system\\... или c:/system/…

Типы работы с файлом:

w– запись в файл

r– чтение из файла

w+’ – запись с возможностью чтения

r+’ – чтение с возможностью записи

a – добавление данных

wb - запись бинарных данных

rb - чтение бинарных данных

В результате работы данной функции в памяти компьютера выделяется память размером 512 байт. Адрес начала этого буфера записывается в переменную F1

24.Чтение данных из файла

Для чтения из файла используется функции fscanf(F1, “format”, var), где F1 – указатель на файл, “format” - форматная спецификация, var – адрес переменной, куда считывается, и fgets(str,maxN,F1), где str – строковая переменная, maxN – максимальное количество символов, которое хотим считать, F1 – указатель на файл.

Для чтения бинарных файлов используется функция fread(void*ptr, size t_size, size t_N).

25.Запись данных в файл

Для записи данных используется функции fprintf(указатель на файл, форматные спецификации, список ппеременных) и fputs(строковая переменная, файл).

Для записи бинарных данных используется функция fwrite(const void*ptr, size), где const void*ptr- указатель на значение, которое хотим сохранить в битовом виде, size – размер в байтах. Функция возвращает количество элементов сохранённых данных.

26.Закрытие файла. Необходимость выполнения этого действия.

Для закрытия файла используется fclose(F1). Выполнять обязательно, если производилась запись данных в файл. Это связано с тем, что обмен данными из файла производится через буфер данных. При выполнении команды записи в файл данные на самом деле записываются в ОЗУ в буфер-файлы. Перезапись их на диск выполняется в случае, когда буфер либо заполнен до конца либо выполняется функция fclose().

27.Дополнительные функции работы с файлом.

  1. feof(указ.) – определяет располагается ли курсор в конце файла.

  2. ferror(указ.) – производит проверку файла на ошибку и возвращает «0», если ошибок не обнаружено, и код ошибки, если она существует.

Функции для изменения позиции указателя в файле. Позиция указателя файла изменяется при выполнении действий с файлом:

  1. открытие файла

  2. При чтении или записи в файл-указатель смещается на следующую позицию.

  3. Изменение позиции курсора файла с помощью специальных функций:

    1. Void rewind(File*stream) устанавливает указатель файла в начало

    2. Int fseek(File*stream, на сколько сместить, относит. чего сместить). 3-й аргумент может принимать следующие значения:

      1. SEEK_SET – ‘0’

      2. SEEK_CUR – относительно текущей позиции

      3. SEEK_END относительно конца файла

    3. int fsetpos(File*stream, const fpos_t* pos;)

    4. Текущую позицию указателя в файле можно получить при помощи функции

    5. int fgetpos(File*stream, fpos_t * pos)

Все три выше описанные функции возвращают целочисленное значение, которое является признаком выполнения функции. Если ноль, то успешно, иначе – код ошибки.

    1. Значение текущей позиции указателя long ftell(File*strteam ).