bool file_exists(const char *path) {
return (_access(path, 0) == 0);
}
Проверка на существование файла
Есть проблема: программа использует данные из файла и необходимо проверить: существует ли данный файл? Неизвестно, в каком каталоге находятся exe-модуль и файл.Как проверить наличие данного файла?
Какими средствами проверять хочешь?
CRT:
Код:
WinAPI:
Код:
BOOL DoesFileExist(LPCSTR lpFileName) {
HANDLE hFile = CreateFile(lpFileName, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, 0, NULL);
DWORD errNo = GetLastError();
if (hFile)
CloseHandle(hFile);
return (errNo == 0);
}
HANDLE hFile = CreateFile(lpFileName, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, 0, NULL);
DWORD errNo = GetLastError();
if (hFile)
CloseHandle(hFile);
return (errNo == 0);
}
@pixo $oft,Alexander92 - спасибо)) Выбрал CRT))
Хорошая встроенная в Windows shlwapi.dll.
Цитата:
BOOL PathFileExists(LPCTSTR pszPath);
Determines whether a path to a file system object such as a file or directory is valid.
Determines whether a path to a file system object such as a file or directory is valid.
а подобных оч. интерестных функций по работе с файлами, строками, реестром и тому подобное там еще много.
Цитата: user1
Кстати это делается еще проще.
Хорошая встроенная в Windows shlwapi.dll.
Хорошая встроенная в Windows shlwapi.dll.
Если уж мы заговорили о Windows, а C++ [COLOR="#ff0000"]!=[/COLOR] Windows, то подобная тема уже была и мы обстоятельно сошлись на том, что лучшим способом является GetFileAttributes(). Подробности - в поиск.