Как создать файл с помощью Windows API? - PullRequest
3 голосов
/ 09 января 2011

Я хочу создать текстовый файл, используя Windows API. Я изучал около

HANDLE CreateFile(
LPCTSTR lpFileName, 
DWORD dwDesiredAccess, 
DWORD dwShareMode, 
LPSECURITY_ATTRIBUTES lpSecurityAttributes, 
DWORD dwCreationDispostion , 
DWORD dwFlagsAndAttributes, 
HANDLE hTemplateFile); 

Я не могу понять, как передать первый параметр для создания файла. Я попытался использовать тип данных FILE и передать его указатель в качестве первого параметра, но он показывает несовместимость с LPCTSTR Кто-нибудь может сказать мне, как это сделать? Я новичок в использовании Windows API. Заранее спасибо.

Ответы [ 3 ]

9 голосов
/ 09 января 2011

LPCTSTR - это то же самое, что и const TCHAR* («Длинный указатель на константу TCHAR -String»), что равно const wchar_t* или const char* в зависимости от набора символов. Так что просто передайте строку, окруженную _T(), например:

CreateFile(_T("C:\\File.txt"), FILE_READ_DATA, FILE_SHARE_READ,
    NULL, OPEN_ALWAYS, 0, NULL);

(Кстати, FILE не является частью Windows SDK; это часть стандартной библиотеки времени выполнения C, и она внутренне основана на на CreateFile, которая создает файл на основе своего имя.)

4 голосов
/ 09 января 2011

Передайте имя файла.Строка.Используйте SDK пример кода .

2 голосов
/ 09 января 2011

Для создания файла с функцией CreateFile():

CreateFile("OUTPUT_FILE", GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

Первый параметр - это имя файла, которое вы можете передать из любой строковой переменной. Например, если имя файла находится в переменной CString, вы можете передать (LPCTSTR) переменное имя, чтобы преобразовать его в LPCTSTR. все остальные параметры зависят от вашей реализации, хотите ли вы всегда создавать файл или добавлять к существующему файлу и т. д ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...