CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

在vc下怎么创建一个文件夹,还有怎么判断一个文件夹是否存在!!

楼主hanyh(烦恼中……)2002-05-20 17:12:47 在 VC/MFC / 基础类 提问

还有函数的参数,请详细说明一下!!! 问题点数:20、回复次数:5Top

1 楼jaidy(骑士)回复于 2002-05-20 17:22:48 得分 1

BOOL   CreateDirectory(  
      LPCTSTR   lpPathName,                                                   //   directory   name  
      LPSECURITY_ATTRIBUTES   lpSecurityAttributes      
                                //   Pointer   to   a   SECURITY_ATTRIBUTES   structure  
  );  
  要判断文件夹是否存在,首先用CFindFile类得到文件(可以判断是否存在),存在的话用IsDirectory判断是否文件夹Top

2 楼hanyh(烦恼中……)回复于 2002-05-20 20:26:08 得分 0

具体怎么用啊!!Top

3 楼hanyh(烦恼中……)回复于 2002-05-22 09:51:22 得分 0

能给个例子吗?Top

4 楼surfl(晓龙)回复于 2002-05-22 10:03:27 得分 1

BOOL   PathIsDirectory(  
          LPCTSTR   pszPath  
          );//判断一个目录是否存在!  
  Top

5 楼ShallonXu(总参谋长)回复于 2002-05-22 10:15:15 得分 18

bool   DirExist(const   char   *pszDirName)  
  {  
  WIN32_FIND_DATA   fileinfo;  
          char _szDir[_MAX_PATH];  
          strcpy(_szDir,   pszDirName);  
          int   nLen   =   strlen(_szDir);  
          if(   (_szDir[nLen-1]   ==   '\\')   ||   (_szDir[nLen-1]   ==   '/')   )  
          {  
          _szDir[nLen-1]   =   '\0';  
          }  
  HANDLE hFind   =   ::FindFirstFile(_szDir,   &fileinfo);  
   
  if   (hFind   ==   INVALID_HANDLE_VALUE)  
  {  
  return   false;  
  }  
          if(   fileinfo.dwFileAttributes   ==   FILE_ATTRIBUTE_DIRECTORY   )  
          {  
          ::FindClose(hFind);  
                  return   true;  
          }  
          ::FindClose(hFind);  
  return   false;  
  }  
   
   
   
  //   创建目录,包含子目录,可以创建多级子目录  
  bool   CreateDir(const   char   *pszDirName)  
  {  
  bool   bRet   =   false;  
          char     _szDir[_MAX_PATH];  
          char     _szTmp[_MAX_DIR];  
          int     nLen   =   0;  
          int     idx   ;  
  if(   (DirExist(pszDirName))   ==   true   )  
          return   true;  
          strcpy(_szDir,   pszDirName);  
          nLen   =   strlen(_szDir);  
          if(   _szDir[nLen-1]   ==   '\\'   ||   _szDir[nLen-1]   ==   '/'   )  
          {  
          _szDir[nLen-1]   =   '\0';  
          }  
          nLen   =   strlen(_szDir);  
          memset(_szTmp,   0,   _MAX_DIR);  
          char     _str[2];  
          for(idx   =   0;   idx   <   nLen;   idx++)  
          {  
          if(_szDir[idx]   !=   '\\'   )  
                  {  
                  _str[0]   =   _szDir[idx];  
                          _str[1]   =   0;  
  strcat(_szTmp,   _str);  
                  }  
                  else  
                  {  
                          bRet   =   ::CreateDirectory(_szTmp,   NULL);  
                          if(   bRet   )  
                          {  
                          ::SetFileAttributes(_szTmp,   FILE_ATTRIBUTE_NORMAL);  
                          }  
                  _str[0]   =   _szDir[idx];  
                          _str[1]   =   0;  
  strcat(_szTmp,   _str);  
                  }  
                  if(   idx   ==   nLen-1   )  
                  {  
                          bRet   =   ::CreateDirectory(_szTmp,   NULL);  
                          if(   bRet   )  
                          {  
                          ::SetFileAttributes(_szTmp,   FILE_ATTRIBUTE_NORMAL);  
                          }  
                  }  
          }  
  if(   DirExist(_szTmp)   )  
          return   true;  
  return   false;  
  }  
  Top

相关问题

  • VC中如何创建一文件夹?
  • 创建文件夹?
  • 用VC怎么创建一个新空文件夹。
  • 怎么判断文件夹是否存在,如果不存在怎么创建?
  • 怎么判断是否有一个文件夹,没有则创建
  • 如何创建文件夹?
  • 创建新的文件夹。
  • 怎样创建文件夹?
  • fso创建文件夹
  • C# 文件夹的创建

关键词

  • 文件夹
  • szdir
  • pszdirname
  • nlen
  • 判断
  • 创建
  • hfind
  • 是否存在
  • fileinfo
  • idx

得分解答快速导航

  • 帖主:hanyh
  • jaidy
  • surfl
  • ShallonXu

相关链接

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

广告也精彩

反馈

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