Системное ПО. Работа с файлами

Содержание

Слайд 2

Системное ПО

Как вывести данные в файл

Работа с файлами

Записать данные в файл в

Системное ПО Как вывести данные в файл Работа с файлами Записать данные
виде текста, используя например fprintf

Записать в файл двоичные данные так же, как они представлены в ЭВМ

Слайд 3

Системное ПО

Минимум функций WinAPI для работы с файлами:

Работа с файлами

CreateFile – создать

Системное ПО Минимум функций WinAPI для работы с файлами: Работа с файлами
файл или открыть существующий
ReadFile – прочитать данные
WriteFile – записать данные
SetFilePointer – переместить указатель текущей позиции для чтения/записи
CloseHandle – закрыть хэндл (в том числе файла)

Слайд 4

Системное ПО

CreateFile

Работа с файлами

Функция кроме имени файла получает еще 6 параметров, определяющих

Системное ПО CreateFile Работа с файлами Функция кроме имени файла получает еще
все нюансы работы с файлом. Возвращаемое значение имеет тип HANDLE (хэндл файла).

Слайд 5

Системное ПО

Работа с файлами

dwDesiredAccess определяет желаемые права доступа к файлу. Параметр представляет

Системное ПО Работа с файлами dwDesiredAccess определяет желаемые права доступа к файлу.
собой целое число (DWORD=unsigned int), некоторые биты которого определяют соответствующее право доступа

В двоичном представлении каждой константы есть только одна единица

Права доступа можно комбинировать, используя побитовое ИЛИ:
GENERIC_READ | GENERIC_WRITE

Слайд 6

Системное ПО

Работа с файлами

dwShareMode определяет способ совместного использования файла с другими процессами.

Системное ПО Работа с файлами dwShareMode определяет способ совместного использования файла с
Ноль означает отсутствие совместного доступа (работать с файлом может только наш процесс)

Слайд 7

Системное ПО

Работа с файлами

dwCreationDisposition определяет поведение, в случае, если файл существует, или

Системное ПО Работа с файлами dwCreationDisposition определяет поведение, в случае, если файл существует, или не существует
не существует

Слайд 8

Системное ПО

WriteFile

Работа с файлами

Функция записывает в файл любые данные, находящиеся в памяти.

Системное ПО WriteFile Работа с файлами Функция записывает в файл любые данные,
lpBuffer – указатель на начало записываемой области. nNumberOfBytesToWrite – количество байт для записи. lpNumberOfBytesWritten – указатель на переменную, куда будет помещен реально записанный объем информации в байтах.

Слайд 9

Системное ПО

ReadFile

Работа с файлами

Функция читает данные из файла, находящиеся в памяти.
lpBuffer

Системное ПО ReadFile Работа с файлами Функция читает данные из файла, находящиеся
– указатель, куда записать прочитанные данные. nNumberOfBytesToRead – сколько байт читать. lpNumberOfBytesRead – указатель на переменную, куда будет помещен реально прочитанный объем информации в байтах.

Слайд 10

Системное ПО

SetFilePointer

Работа с файлами

При открытии файла чтение/запись будут происходить с начала файла.

Системное ПО SetFilePointer Работа с файлами При открытии файла чтение/запись будут происходить
Указатель на следующую позицию чтения/записи будет сдвигаться автоматически. Для установки указателя на желаемую позицию используется данная функция.

dwMoveMethod – точка отсчета нового значения указателя (FILE_BEGIN, FILE_CURRENT, FILE_END)

Слайд 11

Системное ПО

Пример

Системное ПО Пример

Слайд 12

Системное ПО

Получение информации о файле

Работа с файлами

Возвращаемое значение – целое число, отдельные

Системное ПО Получение информации о файле Работа с файлами Возвращаемое значение –
биты которого определяют наличие или отсутствие атрибута файла. Для работы с атрибутами Microsoft определила константы.

FILE_ATTRIBUTE_ARCHIVE – архивный
FILE_ATTRIBUTE_HIDDEN – скрытый
FILE_ATTRIBUTE_READONLY – только для чтения