c、c++标准库没有提供api 判断一个文件是否存在,所以自己写了一个
#ifdef WIN32
#include <Windows.h>
#else
#include <sys/stat.h>
#endif
#include <iostream>
using namespace std;
bool FileExists(const char* fileName)
{
#ifdef WIN32
//得到文件属性
DWORD fileAtt = GetFileAttributesA(fileName);
//如果有错就抛出一个异常
if(fileAtt == INVALID_FILE_ATTRIBUTES)
throw GetLastError();
return ( ( fileAtt & FILE_ATTRIBUTE_DIRECTORY ) == 0 );
#else
struct stat fileAtt;
if (stat(filePath, &fileAtt) != 0)
throw errno;
//S_ISREG 是一个宏
return S_ISREG(statistics.st_mode);
#endif
}