您当前的位置: 首页 >  linux

LINUX用C建立多级目录(测试通过)

柳鲲鹏 发布时间:2021-02-01 10:26:40 ,浏览量:0

  • 方法一

调用system()执行mkdir -p命令。

  • 方法二

  具体代码如下:

int mkdirs(char* pPath, int isLastFile)
{
    char buffer[BUFFER_SIZE] = {0};
    char* next = pPath;
    int isLast = 0;
    while (next != NULL)
    {
        next = strchr(next+1, '/');
        if (next == NULL)
        {
            if (isLastFile)
            {
                break;
            }
            isLast = 1;
            next = pPath+strlen(pPath);
        }
        strncpy(buffer, pPath, next-pPath);
        // DEBUG_TEXT(buffer);

        if ( access(buffer, F_OK) != 0
           && mkdir(buffer, 0755) == -1)
        {
            return -1;
        }

        if (isLast)
        {
            break;
        }
    }
    return 0;
}

strncpy可以节省一点,意义不大。

关注
打赏
1688896170
查看更多评论

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4641博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0506s