C++ 判斷目錄是否存在,新建,刪除文件夾


在C++中標准庫中直接對目錄操作的函數好像沒有(本人目前沒找標准庫中有),所以使用系統平台函數來對文件夾進行操作比較方便。

系統函數在Windows和Linux系統有一定的區別,主要區別其實是在於Linux對於文件夾的權限設置有硬性要求,而Windows中就沒有。

 

windows:

函數:int access( const char * _Filename,  int _AccessMode) 

頭文件:io.h

linux:

函數:int access( const char * _Filename,  int _AccessMode) 

頭文件:unistd.h

功能:確定文件和文件夾是否存在和訪問權限 (_AccessMode參數:00表示只判斷是否存在,02表示文件是否可執行, 04表示文件是否可寫,06表示文件是否可讀),有指定訪問權限則返回0,否則函數返回-1

該函數在Linux原型一樣,用法相同。

windows:

函數:int mkdir(const char * _Path)

頭文件:direct.h

linux:

函數:int mkdir(const char *pathname, mode_t mode)

頭文件:sys/types.h, sys/stat.h

功能:創建文件夾,返回0為創建成功,否則返回-1。Linux中創建時會有權限要求,該權限參數可以去了解Linux對於文件權限的設置相關內容,例如:0777表示對文件具有完全的權限。

windows:

函數:int rmdir(const char *_Path)

頭文件:direct.h

linux:

函數:int rmdir(const char *_Path)

頭文件:sys/types.h, sys/stat.h

功能:刪除文件夾,成功返回0,否則-1。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM