0
点赞
收藏
分享

微信扫一扫

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

捡历史的小木板 2022-01-28 阅读 65


  • 方法一

调用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可以节省一点,意义不大。


举报

相关推荐

0 条评论