Консультация № 20695
11.05.2005, 21:02
0.00 руб.
0 2 2
Доброе время суток,товарищи эксперты!!!
Вопрос такой: как с помощью функции CreateFile можно создать файл в какой-либо директории,например, в "e:\sanya\file.txt"? 2 часа просидел - ничего не получилосьЗаранее спасибо.

Обсуждение

Неизвестный
12.05.2005, 11:22
общий
это ответ
Здравствуйте, Ляшко Александр Николаевич!
Выставляешь флаг dwCreationDistribution CREATE_NEW или CREATE_ALWAYS. А путь пишется как "e:\\dir\\file.ext". Плюс проверь результат, который функция возвращает. Возможно нету прав доступа или Вы пытаетесь заполнить структуру PSECURITY_ATTRIBUTES, в то время, как там вполне можно поставить null для принятия прав по умолчанию. Да, функция никогда не возвращает NULL. Результат или хэндл файла, или INVALID_HANDLE_VALUE. Если последнее, получи ошибку через GetLastError(). Пиши, коли чего.
Неизвестный
12.05.2005, 20:01
общий
это ответ
Здравствуйте, Ляшко Александр Николаевич!
h:=CreateFile(PCHAR(‘c:\somefile‘),GENERIC_WRITE,FILE_SHARE_READ,NIL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,0);
Это раз
Потом пишешь WriteFile если надо
CloseHandle(h);
Это два, подозреваю этого у тебя нет, и ещё - папка e:\sanya должна существовать!!!
Форма ответа