Функция создания файла - PullRequest
0 голосов
/ 20 июля 2010

Я создаю файл с помощью функции Createfile. Программа на C работает нормально, но я не могу увидеть созданный файл в соответствующей папке. Также отмечена опция «просмотр скрытых файлов».

Ответы [ 2 ]

0 голосов
/ 20 июля 2010

Две вещи, чтобы проверить. Номер один, это действительно удалось? Из документов :

Возвращаемое значение
Если функция завершается успешно, возвращаемое значение является дескриптором открытого файла, устройства, именованного канала или почтового слота.
Если функция завершается ошибкой, возвращаемое значение равно INVALID_HANDLE_VALUE. Чтобы получить расширенную информацию об ошибке, позвоните GetLastError.

Номер два, ты ищешь в правильном месте. Часто люди, которые запускают свой код из IDE, не понимают, что их текущий рабочий каталог не всегда тот, который они думают. Вы можете system("cd"); или что-то подобное, чтобы увидеть, что это на самом деле.

Или вы можете использовать абсолютные пути, чтобы убедиться, что файл создается в нужном месте (для тестирования, то есть - вы не должны никогда использовать абсолютные пути для рабочего кода).

Если ни одно из этих двух предложений не поможет, вы должны опубликовать код, который показывает конкретную проблему. Желательно, чтобы нам не приходилось возвращаться и просить больше.

0 голосов
/ 20 июля 2010

Вы можете проверить, правильно ли работала функция, проверив возвращенное значение HANDLE.

edit: программа AC продолжает функционировать (хотя и неправильно), если функция не работает.Поэтому очень важно проверять каждую возвращаемую HANDLE.

edit: возвращаемая HANDLE не должна быть INVALID_HANDLE_VALUE.(Но я могу представить, что NULL тоже не годится).

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