1. 程式人生 > >c 判斷檔案或資料夾是否存在,多種方法, 為什麼從一開始就不直接來個統一的呢?

c 判斷檔案或資料夾是否存在,多種方法, 為什麼從一開始就不直接來個統一的呢?

具體內容,請看: https://blog.csdn.net/u012494876/article/details/51204615

 

判斷檔案或資料夾是否存在,竟然有這麼多方法:

GetFileAttributes()

CreateFile()

_access()

FindFirstFile()

PathFileExists()

但好像沒有一個又簡單又100%精準的 api。

 

之前,判斷一個資料夾是否存在,我使用的是:

struct stat info;
return stat(szPath, &info) == 0 && S_ISDIR(info.st_mode);

但今天發現,不支援 windows 短地址模式: C:\Users\ADMINI~1\AppData\Local\Temp\

今天,只好使用 GetFileAttributes() 改寫了一下:

DWORD dwAttrib = GetFileAttributes(path);
return INVALID_FILE_ATTRIBUTES != dwAttrib && 0 != (dwAttrib & FILE_ATTRIBUTE_DIRECTORY);

但看網上的資料,說 GetFileAttributes() 在網路共享環境下,存在 bug ...