参考:
##########################################################
判断文件夹是否存在:
在windows环境下头文件为:
#include
在linux环境下头文件为:
#include
intaccess(constchar*_Filename,int_AccessMode)
上述函数在windows和linux环境下均可使用
该函数功能为确定文件或文件夹的访问权限,如果指定的访问权限有效,则函数返回0,否则返回-1
Filename可以是文件路径,也可以是文件夹路径,可以使用绝对路径或相对路径
_AccessMode表示要验证的文件访问权限,有可读、可写、可执行以及是否存在四种权限,当Filename表示文件夹时仅能查询文件夹是否存在
_AccessMode:
头文件unistd.h中有如下定义:
#defineR_OK4/*Testforreadpermission.*/
#defineW_OK2/*Testforwritepermission.*/
#defineX_OK1/*Testforexecutepermission.*/
#defineF_OK0/*Testforexistence.*/
具体含义如下:
R_OK只判断是否有读权限
W_OK只判断是否有写权限
X_OK判断是否有执行权限
F_OK只判断是否存在
在宏定义里面分别对应:
00只存在
02写权限
04读权限
06读和写权限
_AccessMode=00表示只判断是否存在
_AccessMode=02表示文件是否可执行
_AccessMode=04表示文件是否可写
_AccessMode=06表示文件是否可读
在windows环境下还可使用函数_access:
int_access(constchar*_Filename,int_AccessMode)
###############
创建新的文件夹:
windows环境下头文件为:
#include
函数原型为:
intmkdir(constchar*_Path)
该函数功能为建立一个新的目录,创建成功则返回0,否则返回-1
_Path:新建文件夹路径,可使用绝对路径,可也用相对路径
windows环境下也可用函数_mkdir:
_mkdir(constchar*_Path)
默认mode是0777,表示最大可能的访问权
Linux环境下头文件为:
#include
#include
函数原型为:
intmkdir(constchar*pathname,mode_tmode);
该函数功能为创建一个新的目录,并指定它的执行权限。如果创建成功则返回0,否则,返回-1
S_IRWXU
00700权限,代表该文件所有者拥有读,写和执行操作的权限
S_IRUSR(S_IREAD)
00400权限,代表该文件所有者拥有可读的权限
S_IWUSR(S_IWRITE)
00200权限,代表该文件所有者拥有可写的权限
S_IXUSR(S_IEXEC)
00100权限,代表该文件所有者拥有执行的权限
S_IRWXG
00070权限,代表该文件用户组拥有读,写和执行操作的权限
S_IRGRP
00040权限,代表该文件用户组拥有可读的权限
S_IWGRP
00020权限,代表该文件用户组拥有可写的权限
S_IXGRP
00010权限,代表该文件用户组拥有执行的权限
S_IRWXO
00007权限,代表其他用户拥有读,写和执行操作的权限
S_IROTH
00004权限,代表其他用户拥有可读的权限
S_IWOTH
00002权限,代表其他用户拥有可写的权限
S_IXOTH
00001权限,代表其他用户拥有执行的权限
可叠加使用,如0755表示S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH。表示该文件所有者拥有读,写和执行操作权限去,该文件用户组拥有可读,可执行的权限,其他用户拥有可读,可执行的权限。
#################################################
删除文件夹:
windows环境下头文件:
#include
linux环境下头文件:
#include
函数原型为:
intrmdir(constchar*_Path)
函数功能是删除参数指定的文件夹,成功返回0,否则返回-1
在windows环境下也可使用函数_rmdir
######################
实现程序:
intmain(void)
{
stringdir="./hello";
if(access(dir.c_str(),0)==-1)
{
cout<
cout<
#ifdefWIN32
intflag=mkdir(dir.c_str());
#endif
#ifdeflinux
intflag=mkdir(dir.c_str(),0777);
#endif
if(flag==0)
{
cout<
}else{
cout<
}
}
if(access(dir.c_str(),0)==0)
{
cout<
cout<
intflag=rmdir(dir.c_str());
if(flag==0)
{
cout<
}else{
cout<
}
}
//cout<
cout<
cin.get();
return0;
}
/u01313/article/details/50688257
函数名: mkdir 功 能: 建立一个目录(文件夹) 用 法: int mkdir(char *pathname); 程序例: (在win-tc和Dev-c++下运行通过) #include #include //#include
#include
int main(void) { int status; system("cls"); status = mkdir("book"); /*这是在程序所在当前文件夹下创建book*/ (!status) ? (printf("Directory created\n")) : (printf("Unable to create directory\n")); system("pause"); system("dir"); /*显示创建后当前文件夹下的文件信息*/ system("pause"); status = rmdir("book"); /*删除创建的文件夹book*/ (!status) ? (printf("Directory deleted\n")) : (perror("Unable to delete directory")); system("pause"); return 0; } /question/79474870.html