Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Теоретический материал. Теоретический материал изложен в книге [1], основные функции Win32 API используемые для работы с файлами и каталогами:

Читайте также:
  1. A. Материализм мен диалектиканы
  2. I. Смешанные техники (основной материал - тушь)
  3. II. Изучение нового материала
  4. II. Материалы судебной (и иной юридической) практики.
  5. II. Поработать с лекционным материалом по теме занятия, выучить глоссарий.
  6. III Композиционные материалы на неметаллической основе. (Пластики)
  7. III. МАТЕРИАЛЫ ТЕКУЩЕЙ И ИТОГОВОЙ АТТЕСТАЦИИ
  8. III. Объяснение нового материала.
  9. III. Работа с природным материалом
  10. IV. Закрепление изученного материала.

Теоретический материал изложен в книге [1], основные функции Win32 API используемые для работы с файлами и каталогами:

1. CreateFile – создание или открытие файла

2. DeleteFile – удаление файла

3. CloseHandle – закрытие файла

4. ReadFile – чтение из файла

5. WriteFile – запись в файл

6. LockFile – блокировка файла

7. UnlockFile – разблокировка файла

8. FindFirstFile – поиск первого файла по заданному имени или маске

9. FindNextFile – поиск каждого последующего файла по заданной маске

10. FindClose – завершение поиска

11. SetFilePointer – установка указателя в файле

12. CreateDirectory – создание каталога

13. RemoveDirectory – удаление пустого каталога

Примечание:

· удаление каталога, поскольку функция RemoveDirectory удаляет лишь пустые каталоги. Реализовать функцию удаления любых каталогов с использованием рекурсии или стеков на основе функций RemoveDirectory, FindFirstFile, FindNextFile, FindClose и DeleteFile;

· При создании проекта необходимо использовать библиотеку kernel32.lib;

· в исходном файле подключать заголовочные файлы: (“windows.h”, “winbase.h”).

 

Создание файла: функция CreateFile (подробное описание функции в книге [1] на стр.47)

HANDLE CreateFile( LPCTSTR lpFileName, // pointer to name of the file DWORD dwDesiredAccess, // access (read-write) mode DWORD dwShareMode, // share mode LPSECURITY_ATTRIBUTES lpSecurityAttributes, // pointer to security attributes DWORD dwCreationDisposition, // how to create DWORD dwFlagsAndAttributes, // file attributes HANDLE hTemplateFile // handle to file with attributes to // copy );

Параметры вызова функции CreateFile:

lpFileName – указатель на имя файла, который требуется открыть или создать. Указатель содержит путь к файлу.

dwDesiredAccess – параметр, определяет какие действия можно производить с содержимым файла.

Константы значений:

  чтение информации о файле
GENERIC_READ разрешено чтение из файла
GENERIC_WRITE разрешена запись в файл
GENERIC_READ | GENERIC_WRITE разрешено чтение из файла и запись в файл

 

dwShareMode – параметр, определяет права по совместному доступу разных процессов к файлу.

Константы значений:

  чтение информации о файле
FILE_SHARE_READ разрешено чтение из файла
FILE_SHARE_WRITE разрешена запись в файл
FILE_SHARE_READ | FILE_SHARE_WRITE разрешено чтение из файла и запись в файл

 

lpSecurityAttributes – параметр, защиты файла. Значение NULL означает, что защита не требуется.

dwCreationDisposition – параметр, определяет какие действия необходимо произвести в тех случаях, когда файл уже существует и когда файл не существует.

Константы значений:

CREATE_NEW Создается новый файл. Если файл существует, то функция завершается с ошибкой.
CREATE_ALWAYS Создается новый файл. Если файл существует, то он перезаписывается.
OPEN_EXISTING Открывается существующий файл. Если файл не существует, то функция завершается с ошибкой.
OPEN_ALWAYS Открывается существующий файл. Если файл не существует, то создается новый файл.

 

dwFlagsAndAttributes – параметр, указывает атрибуты и флаги для файла. Флаги можно комбинировать друг с другом.

Константы значений: [1], стр.50.

hTemplateFile – параметр указывает HANDLE уже открытого файла или NULL.

 

Пример: Программа создания и закрытия файла.

 

Запись данных в файл: функция WriteFile (подробное описание функции в книге [1] на стр.56)

BOOL WriteFile( HANDLE hFile, // указатель на имя файла LPVOID lpBuffer, // указатель на буфер записываемых данных DWORD nNumberOfBytesToRead, // количество записываемых байт LPDWORD lpNumberOfBytesRead, // количество записанных байт LPOVERLAPPED lpOverlapped // NULL );

Чтение данных из файла: функция ReadFile (подробное описание функции в книге [1] на стр.55)

BOOL ReadFile( HANDLE hFile, // указатель на имя файла LPVOID lpBuffer, // указатель на буфер для получаемых данных DWORD nNumberOfBytesToRead, // количество запрашиваемых байт LPDWORD lpNumberOfBytesRead, // количество считанных байт LPOVERLAPPED lpOverlapped // NULL );

Пример: Программа записи и чтения из файла.

Создание каталога: функция CreateDirectory (подробное описание функции в книге [1] на стр.40)

BOOL CreateDirectory( LPCTSTR lpPathName, // указатель на имя каталога LPSECURITY_ATTRIBUTES lpSecurityAttributes // указатель защиты (NULL) );

 

Удаление каталога: функция RemoveDirectory (подробное описание функции в книге [1] на стр.40)

BOOL RemoveDirectory( LPCTSTR lpPathName, // указатель на имя каталога );

Пример: Программа создания и удаления каталога.

 




Дата добавления: 2014-12-15; просмотров: 32 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.009 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав