Romeo, Ага, а если файл при проверке открылся, то кто его закрывать будет (хэндл удалять)? Да и, плюс ко всему, это файловая операция, т.е. медленная (относительно, конечно).
Еще, если я правильно соображаю (и помню смысл всех
мал-мала параметров CreateFile-а), твой способ не всегда даст верный результат. Например, если файл полность захвачен кем-то в эксклюзивном режиме, то
CreateFile его и только на чтение не сможет открыть. И вернет результат, что нет такого файла.
Я проверял существование (в C++) через ф-ию
access.
Она еще удобна тем (но не для данного случая это удобство не нужно), что можно проверить не только существование, но и режим доступа. Т.е., например, файл может существовать, а изменять его нельзя (нет доступа на запись).
Вот первая попавшаяся страница с описанием этой ф-ии:
Тогда проверка на существование файла будет выглядеть:
Код: Выделить всё
if (access (pathname,
0) // - 00 Проверка только на существование
== 0)
{
// Файл существует
}
else
{
// Файл НЕ существует
};