C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 304 - Операции с файлами, которых нет в MFC / MFC шаг за шагом / Visual C++

Шаг 304 - Операции с файлами, которых нет в MFC

MFC не поддерживает всех возможных файловых операций и поэтому для их реализации нам надо пользоваться функциями Win32 API. Что это за операции ??? Все эти функции реализованы в kernel32 и поэтому достаточно указания Windows.h, а в MFC просто пользоваться ими.

Копирование

BOOL CopyFile
(  
	LPCTSTR lpExistingFileName,	// имя существующего файла
	LPCTSTR lpNewFileName,	// имя нового файла
	BOOL bFailIfExists		// что делать, если новый файл существует (FASLE) переписать
);

Перемещение

BOOL MoveFile
(  
	LPCTSTR lpExistingFileName,	// исходный файл
	LPCTSTR lpNewFileName	// новый файл
);

или

BOOL MoveFileEx
(  
	LPCTSTR lpExistingFileName,	// исходный файл
	LPCTSTR lpNewFileName,	// новый файл
	DWORD dwFlags		// опции
);

Опции могут быть следующие:

  • MOVEFILE_REPLACE_EXISTING - если в месте перемещения файл существует, то его нужно заместить.
  • MOVEFILE_COPY_ALLOWED - при перемещении на другой диск вызывать CopyFile и DeleteFile.
  • MOVEFILE_DELAY_UNTIL_REBOOT - только для NT, не перемещать до перезагрузки
  • MOVEFILE_WRITE_THROUGH - возврат функции будет только после фактического перемещения файла. При установленном флаге MOVEFILE_DELAY_UNTIL_REBOOT игнорируется.

Переименование

Для переименования используется MoveFile. Интересно, почему нет функции RenameFile ??? Наверно посчитали лишним, раз можно сделать через MoveFile.

Удаление

BOOL DeleteFile
( 
	LPCTSTR lpFileName	// имя удаляемого файла
);

К сожалению, в Win32 Вы не можете использовать символы расширители типа *,?.


| |
Автор Каев Артем.
[AD]