VC++ 使用 _access函數(shù)判斷文件或文件夾是否存在
_access函數(shù)
int _access( const char *path, int mode ); int _waccess( const wchar_t *path, int mode );
參數(shù)
path
文件或目錄路徑。
mode
讀/寫(xiě)特性。
返回值
如果文件包含特定模式,每個(gè)函數(shù)返回 0。 函數(shù)返回 - 1,則名稱文件不存在或不具有特定模式;在這種情況下,如下表errno 所示設(shè)置。
EACCES
訪問(wèn)被拒絕:文件權(quán)限的設(shè)置不允許指定的訪問(wèn)權(quán)限。
ENOENT
未找到文件名或路徑。
EINVAL
無(wú)效參數(shù)。
備注
當(dāng)使用文件,_access 函數(shù)確定指定的文件或目錄是否存在并且具有指定值的特性 mode。 在使用與目錄,_access 確定指定的目錄是否存在;只有在 Windows 2000 和更高版本的操作系統(tǒng)上,所有目錄讀取和寫(xiě)入權(quán)限。
mode 值 |
檢查文件。 |
---|---|
00 |
僅存在 |
02 |
Write-only |
04 |
只讀 |
06 |
讀取和寫(xiě)入 |
最后給大家簡(jiǎn)單匯總下VC++用于判斷文件文件夾是否存在的方法
推薦實(shí)例例:
if(::GetFileAttributes(m_filename)==-1){//文件不存在}else{//文件存在}
1. 使用_access函數(shù),函數(shù)原型為 int _access( const char *path, int mode );
2. 使用CreateFile函數(shù),函數(shù)原型為: HANDLE CreateFile( LPCTSTR lpFileName, // pointer to name of the file DWORD dwDesiredAccess, // access (read-write) mode DWORD dwShareMode, // share mode LPSECURITY_ATTRIBUTES lpSecurityAttributes, // pointer to security attributes DWORD dwCreationDisposition, // how to create DWORD dwFlagsAndAttributes, // file attributes HANDLE hTemplateFile // handle to file with attributes to // copy );
3. 使用FindFirstFile函數(shù),函數(shù)原型為: HANDLE FindFirstFile( LPCTSTR lpFileName, // pointer to name of file to search for LPWIN32_FIND_DATA lpFindFileData // pointer to returned information );
4. 使用GetFileAttributes函數(shù),函數(shù)原型如下: DWORD GetFileAttributes( LPCTSTR lpFileName // pointer to the name of a file or directory );
5. 使用Shell Lightweight Utility APIs函數(shù) PathFileExists()專門(mén)判斷文件和目錄時(shí)否存在的函數(shù)文件名可讀性比較強(qiáng)還可以判斷目錄是否存在 Header: Declared in Shlwapi.h Import Library: Shlwapi.lib 以上的各種方法供參考,函數(shù)具體用法需參見(jiàn)MSDN
相關(guān)文章
C++ CryptoPP使用AES實(shí)現(xiàn)加解密詳解
Crypto++ (CryptoPP) 是一個(gè)用于密碼學(xué)和加密的 C++ 庫(kù),提供了大量的密碼學(xué)算法和功能,這篇文章主要為大家介紹了C++ CryptoPP如何使用AES實(shí)現(xiàn)加解密,需要的可以參考下2023-11-11C++基于隨機(jī)數(shù)實(shí)現(xiàn)福彩雙色球的方法示例
這篇文章主要介紹了C++基于隨機(jī)數(shù)實(shí)現(xiàn)福彩雙色球的方法,結(jié)合完整實(shí)例形式分析了C++隨機(jī)數(shù)算法的實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2017-06-06基于c語(yǔ)言知識(shí)點(diǎn)的補(bǔ)遺介紹
本篇文章是對(duì)c語(yǔ)言知識(shí)點(diǎn)的一些補(bǔ)遺進(jìn)行詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C++常見(jiàn)獲取隨機(jī)數(shù)的方法小結(jié)
這篇文章主要介紹了C++常見(jiàn)獲取隨機(jī)數(shù)的方法,結(jié)合實(shí)例形式總結(jié)分析了C++獲取隨機(jī)數(shù)的幾種常見(jiàn)方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-05-05VS2022實(shí)現(xiàn)VC++打包生成安裝文件圖文詳細(xì)歷程
本文主要介紹了VS2022實(shí)現(xiàn)VC++打包生成安裝文件圖文詳細(xì)歷程,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02利用Matlab制作一款刮刮樂(lè)抽獎(jiǎng)特效
七夕節(jié)還不知道送啥,教你用MATLAB制作一款刮刮樂(lè)抽獎(jiǎng)特效,讓她的手氣決定她的禮物。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-03-03C語(yǔ)言 數(shù)與串之間轉(zhuǎn)換的方法
C語(yǔ)言 數(shù)與串之間轉(zhuǎn)換的方法,需要的朋友可以參考一下2013-05-05C語(yǔ)言實(shí)現(xiàn)自動(dòng)存取款機(jī)模擬系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)自動(dòng)存取款機(jī)模擬系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05