代码
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <stdio.h>
//创建目录名(先判断存不存在)
int file_exist(const char* path){
DIR *dp;
if ((dp = opendir(path)) == NULL){
mkdir(path, S_IRWXU);
//printf("path = %s\n", path);
return 0;
}
else{
closedir(dp);
return 1;
}
}
int main(int argc, char* argv[]){
file_exist(argv[1]);
return 0;
}
内容解释
创建目录则需要先判断是否存在,不存在则创建,存在则关闭;
path为想要创建的目录名(路径),在主函数里即为输入的第一个参数argv[1];
使用的是内置函数mkdir()进行创建,S_IRWXU指的是允许文件所有者拥有读,写,执行的权利,具体其他mode_t参数可详看mkdir mode_t参数详解;
注意事项
区别于Windows下的C语言mkdir的头文件是<direct.h>,Linux下头文件应改为<dirent.h>;
如不在C程序创建目录,直接在Linux界面则可以使用mkdir命令进行创建,权限修改使用chmod命令。