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