Вопрос № 20695: Доброе время суток,товарищи эксперты!!!
Вопрос такой: как с помощью функции CreateFile можно создать файл в какой-либо директории,например, в "e:sanyafile.txt"? 2 часа просидел - ничего не получилось :( Заранее спасибо....
Вопрос № 20695
Доброе время суток,товарищи эксперты!!!
Вопрос такой: как с помощью функции CreateFile можно создать файл в какой-либо директории,например, в "e:sanyafile.txt"? 2 часа просидел - ничего не получилось :( Заранее спасибо.
Отправлен: 11.05.2005, 21:02
Вопрос задал: Ляшко Александр Николаевич (статус: Посетитель)
Всего ответов отправлено: 2
Отвечает: Jadd
Здравствуйте, Ляшко Александр Николаевич!
Выставляешь флаг dwCreationDistribution CREATE_NEW или CREATE_ALWAYS. А путь пишется как "e:\dir\file.ext". Плюс проверь результат, который функция возвращает. Возможно нету прав доступа или Вы пытаетесь заполнить структуру PSECURITY_ATTRIBUTES, в то время, как там вполне можно поставить null для принятия прав по умолчанию. Да, функция никогда не возвращает NULL. Результат или хэндл файла, или INVALID_HANDLE_VALUE. Если последнее, получи ошибку через GetLastError(). Пиши, коли чего.
Ответ отправил: Jadd (статус: 3-ий класс)
Отправлен: 12.05.2005, 11:22 Оценка за ответ: 5 Комментарий оценки: Исчерпывающий ответ! Большое спасибо!!!
Отвечает: John Freeman
Здравствуйте, Ляшко Александр Николаевич!
h:=CreateFile(PCHAR('c:somefile'),GENERIC_WRITE,FILE_SHARE_READ,NIL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,0);
Это раз
Потом пишешь WriteFile если надо
CloseHandle(h);
Это два, подозреваю этого у тебя нет, и ещё - папка e:sanya должна существовать!!!
Ответ отправил: John Freeman (статус: Профессор)
Отправлен: 12.05.2005, 20:01