CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何创建一个字符串指定的目录(包括子目录)?

楼主jockcivil()2003-01-08 14:31:29 在 VC/MFC / 基础类 提问

现有一个路径字符串d:\temp\sub1\sub2\sub3,但是机器上只有的d:\,没有temp目录,如何创建temp目录并包括创建子目录?用CreateDirectory()不行,它只能创建已有目录下的一层目录.  
  问题点数:100、回复次数:9Top

1 楼foxmail(萧遥 www.LoveSnow.com)回复于 2003-01-08 14:33:55 得分 10

只能一层层创建吧  
  你把字符串split出来  
  循环创建Top

2 楼96163(爱谁谁)回复于 2003-01-08 14:36:33 得分 5

只能循环创建了!Top

3 楼isdong(有些事情应该忘记)回复于 2003-01-08 14:37:04 得分 10

使用SHFileOperation即可,否则就需要逐级创建目录Top

4 楼wltsui(-无招胜有招-)回复于 2003-01-08 14:37:50 得分 20

//函数描述:函数名Fcreate_directory    
  //功能:创建目录  
  //参数描述:directoryname为指定目录  
  //返回值描述:返回值1表示正常,-1表示出错  
  short   Fcreate_directory(char*   directoryname)  
  {  
  if(   CreateDirectory(   directoryname,   NULL   )   ==   0   )  
  {  
  return   -1;  
  }  
  return   1;  
  }  
  Top

5 楼snollow(坐井观蛙)回复于 2003-01-08 14:40:01 得分 0

同意wltsui(前途未必光明,   道路一定曲折!)Top

6 楼kingofhell(地狱之王)回复于 2003-01-08 15:16:54 得分 40

呵呵,给你个自己写的函数,用了很久了。  
  BOOL   XXXX::MakeLevelDir(char*   dd)  
  {  
    char   Buffer[256];  
    char   buf[256];  
    char   b[2];  
    char*   p;  
    sprintf(b,"//");  
    sprintf(Buffer,dd);  
    p   =   Buffer;  
    while(strchr(p,'//'))  
    {  
    if   (   p[0]   ==   b[0]   )  
    {  
    int   res   =   p   -   Buffer   +1;  
                            for   (   int   i   =   0   ;   i   <   res   ;   i++)  
    buf[i]   =   Buffer[i];  
                            buf[i]   =   '\0';  
    CreateDirectory(buf,NULL);  
    }  
    p++;  
    }  
      return   true;  
  }  
  Top

7 楼demetry(智者橡木)回复于 2003-01-08 15:20:06 得分 5

用isdong的方法是调用SHELL函数,语句简单,不过要注意添加shlapi.h和链接shlapi.libTop

8 楼demetry(智者橡木)回复于 2003-01-08 15:21:49 得分 5

另外还可以  
  WinExec("cmd   /c   mkdir   d:d:\temp\sub1\sub2\sub3",   SHOW_HIDE);Top

9 楼jiangsheng(蒋晟.Net[MVP])回复于 2003-01-08 15:30:23 得分 5

MakeSureDirectoryPathExists  
      Windows   NT/2000/XP:   Included   in   Windows   2000   and   later.  
      Redistributable:   Requires   DbgHelp.dll   on   Windows   NT   4.0   and   Windows   95/98/Me.  
      Header:   Declared   in   Dbghelp.h.  
      Library:   Use   Dbghelp.lib.Top

相关问题

  • 如何得到指定路径中的所有子目录?
  • 获取指定目录下的所有目录列表(包括子目录),
  • 怎样在指定的目录下面创建一个子目录?
  • 怎么得到指定目录下的所有子目录名称?
  • 如何取得指定目录下所有文件的文件名(包括所有下一级子目录中的),和所有的子目录名?
  • 求教:如何扫描指定目录下的所有文件(包括子目录)
  • 请问如何能够遍历完某个指定目录下的所有子目录
  • SOS:查询目录及其子目录下的指定类型的文件。(用C实现,UNIX下),先谢了!
  • 请问:搜索指定目录下的文件用哪个函数!!!(不涉及其下的子目录)
  • 请教:如何得到指定的目录(包括子目录)下的全部文件名。

关键词

  • 函数
  • 字符串
  • 目录
  • 创建
  • directoryname
  • 描述
  • buffer
  • sub
  • temp
  • char

得分解答快速导航

  • 帖主:jockcivil
  • foxmail
  • 96163
  • isdong
  • wltsui
  • kingofhell
  • demetry
  • demetry
  • jiangsheng

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo