有什么函数可以在创建目录时连父目录一起创建?

leehq 2006-12-08 08:35:50
例如"/1/2/3"这三层目录,无论windows还是linux,
mkdir函数都要执行三次才能完成创建,有什么办法可以一次就创建多极目录?

...全文
256 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
leehq 2006-12-08
  • 打赏
  • 举报
回复
重新打开网页又可以给分了?
奇怪!?
leehq 2006-12-08
  • 打赏
  • 举报
回复
我给分时网页提示:
贴子回复次数大于跟给分次数
-----------------------------
什么意思???
jixingzhong 2006-12-08
  • 打赏
  • 举报
回复
........... =_=

不考虑失败问题,
否则,
那还不麻烦死 ...
jixingzhong 2006-12-08
  • 打赏
  • 举报
回复
比如:
int i;
char cmd[20]={0};
for(i=1; i<4; i++)
{
sprintf(cmd, "mkdir %d", i); //动态生成 dos 命令
system(cmd); //执行之

sprintf(cmd, "%d", i); //下面把这个目录设置为当前目录
chdir(cmd);
.........//这里是 对该目录的操作,比如增加文件
}
leehq 2006-12-08
  • 打赏
  • 举报
回复
大虾好多星星啊,多谢你们的回复,看来我只能自己写代码了。
积木 2006-12-08
  • 打赏
  • 举报
回复
说两句没用的。。。瞌睡虫。其实for的这种嵌套。。。你必须考虑其中某一个环节创建失败的情况,然后回滚……所以可能还不如让他直接
system("mkdir -p /xxx/xxxx/xxxx");
^_^
jixingzhong 2006-12-08
  • 打赏
  • 举报
回复
把你的目录 和 你的程序 关联起来,
比如这里目录名字 是 1 2 3,
那么在 for 欠套中 mkdir 就是了 ...
积木 2006-12-08
  • 打赏
  • 举报
回复
当我在打开这个没有人回的帖子,到我回答完毕,我突然发现地下冒出一群水鬼。让我想当震惊啊。。。
jixingzhong 2006-12-08
  • 打赏
  • 举报
回复
分步完成吧
积木 2006-12-08
  • 打赏
  • 举报
回复
兄弟,这个帖子你发太多了吧。
linux版看到一次,在这里我至少看到两次。

再说这个问题,
可以负责任的告诉你,GNU下面的coreutils 里面有mkdir的实现。就算是那个实现也是通过一层一层的用mkdir建立的。没有更加好的方法。你老老实实的作吧。

可以参考
lib 下面的
makepath.c

src 下面的
makedir.c
lann64 2006-12-08
  • 打赏
  • 举报
回复
一次创建的简化是对使用你程序的用户有意义的。能够控制每层目录的创建是对编程者有意义的。为什么写程序时也要一次创建?(懒的多写几条语句?)
kangji 2006-12-08
  • 打赏
  • 举报
回复
delphi和c++builder有ForceDirectories
VC或者其他的开发工具,好像只能自己写函数循环创建
myfriend023 2006-12-08
  • 打赏
  • 举报
回复
SHCreateDirectoryEx试试
Wolf0403 2006-12-08
  • 打赏
  • 举报
回复
貌似没有。。因为要求 best effots 和要求 all or nothing 就会要求完全不同的实现。

自己写吧。。。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧