Linux下创建多层路径的函数
来源:互联网 发布:sql语句多表查询count 编辑:程序博客网 时间:2024/05/21 21:43
mkdir只能创建一层路径,比如,/home/xyz/abc/123,abc必须已经存在,否则mkdir会报错。于是我就写了一个简单的函数,能够创建多层路径,如上面的例子,xyz和abc可以都不存在。
bool create_dir(char* sz_path)
{
char sz_opath[256];
char *p;
size_t len;
int ret = -1;
bool rc = true;
strncpy(sz_opath, sz_path, sizeof(sz_opath));
len = strlen(sz_opath);
if(sz_opath[len - 1] == '/') {
sz_opath[len - 1] = '/0';
}
for(p = (char*)sz_opath+1; *p; p++) {
if(*p == '/') {
*p = '/0';
if(access(sz_opath, F_OK) != 0) {
ret = mkdir(sz_opath, S_IRWXU);
if (ret != 0) rc = false;
}
*p = '/';
}
}
if(access(sz_opath, F_OK) != 0) {
ret = mkdir(sz_opath, S_IRWXU);
if (ret != 0) rc = false;
}
return rc;
}
bool create_dir(char* sz_path)
{
char sz_opath[256];
char *p;
size_t len;
int ret = -1;
bool rc = true;
strncpy(sz_opath, sz_path, sizeof(sz_opath));
len = strlen(sz_opath);
if(sz_opath[len - 1] == '/') {
sz_opath[len - 1] = '/0';
}
for(p = (char*)sz_opath+1; *p; p++) {
if(*p == '/') {
*p = '/0';
if(access(sz_opath, F_OK) != 0) {
ret = mkdir(sz_opath, S_IRWXU);
if (ret != 0) rc = false;
}
*p = '/';
}
}
if(access(sz_opath, F_OK) != 0) {
ret = mkdir(sz_opath, S_IRWXU);
if (ret != 0) rc = false;
}
return rc;
}
- Linux下创建多层路径的函数
- 一个创建多层目录的函数
- 创建多层目录函数
- Linux下递归删除路径的函数
- UNICODE下创建多层目录
- linux mkdir创建多层目录
- linux下的路径
- PHP basename 函数 linux下中文路径的问题解决方法
- PHP basename 函数 linux下中文路径的问题解决方法
- python练习linux下创建路径
- 创建多层目录的文件夹
- 改造CreateDirectory函数,创建多层目录
- 多层扩展BOM的函数
- 多层派生的构造函数
- svn多层路径仓库的权限配置
- Linux下创建内核函数的man手册
- 从汇编角度来理解linux下多层函数调用堆栈运行状态
- 从汇编角度来理解linux下多层函数调用堆栈运行状态
- 解决gftp乱码问题,可以抛弃windows下载FTP的东西了!zz
- 追MM与23种设计模式
- 两天来的收获
- Linux下递归删除路径的函数
- 使用SQL语句实现SPLIT效果的几种方法
- Linux下创建多层路径的函数
- Java程序员的存储过程
- Outlook Express中的.dbx文件揭秘
- [转]今天我拒绝了一个应聘的女程序员
- Linux学习历程
- 运用JMS构建J2EE异构系统
- 我对core文件资料的收集整理
- 基于HHARM9-EDU的TCP/IP(UDP)协议的实现
- [收录]基于COM思想实现AEEINTERFACE