C语言编写创建文件夹函数,通过输入参数,文件夹路径,可以创建路径上所有的文件夹,文件夹路径长度可以根据需求增加或减少。
- 宏定义路径长度
#define DIR_PATH_MAX_LEN 256
- 创建文件夹
/**
@brief 创建文件夹,文件夹路径长度不超过256字节
@param PathName 文件夹路径
@return 成功返回0,失败返回-1
*/
int create_dir(const char *p_pathname)
{
int i = 0;
int len = 0;
char a_dirname[DIR_PATH_MAX_LEN] = { 0 };
if(strlen(p_pathname) > DIR_PATH_MAX_LEN)
return -1;
strcpy(a_dirname, p_pathname);
len = strlen(a_dirname);
for(i = 1; i < len; i++)
{
if(a_dirname[i]=='/') //文件夹层次
{
a_dirname[i] = 0; //文件夹一层一层的处理
if(access(a_dirname, F_OK)!=0) //判断文件夹是否存在
{
if(mkdir(a_dirname, 0755)==-1) //不存在创建文件夹
{
return -1;
}
}
a_dirname[i] = '/';
}
}
return 0;
}