CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  硬件/系统

完全访问硬盘所有文件夹,并在每一个文件夹新建一个txt文件,会者进入.

楼主aivinok(黄伟灵)2003-11-04 18:54:16 在 VC/MFC / 硬件/系统 提问

///以下是遍历所有文件夹的函数,  
  void   CMy3Dlg::browser(CString   s)  
  {  
  CFileFind   ff;  
  CString   dir=s;  
  if(dir.Right(1)!="\\")  
  {  
            dir+="\\";  
   
  }  
  dir+="*.*";  
  bool   res=ff.FindFile(dir);//找到当前目录  
   
  while(res)  
  {  
            res=ff.FindNextFile();//当找到最后一个文件时,此时会返回假  
   
            if(!ff.IsDirectory()&&!ff.IsDots())//是文件,删除它  
            {  
               
    copyfile(ff.GetFilePath());//这里是调用自定义函数,写TXT文件.  
            }  
            else   if(ff.IsDots())  
                    continue;  
            else  
                    if(ff.IsDirectory())//是目录,  
                    {  
                          dir=ff.GetFilePath();  
  copyfile(dir);//调用写文件函数    
                            browser(dir);//递归访问下一目录  
   
                    }  
  }    
  //RemoveDirectory(s);//最终目录清空,删除当前目录  
  ff.Close();  
   
  }  
   
  ////以下是创建一个文件,并写入一字符串.  
  void   CMy3Dlg::copyfile(CString   s)  
  {  
  CString   str="TXT文件内容";  
   
  CString   temp3;    
  s+="\\";s+="hello.txt";  
  for(int   i=1;i<=s.GetLength()+1;i++)  
          if(s.Left(i).Right(1)!="\\")  
                      temp3+=s.Left(i).Right(1);  
  else  
  temp3+="\\\\";  
    CFile   file(s,CFile::modeCreate|CFile::modeWrite);  
   
  for(int   file2=0;file2<1;file2++)  
  file.Write(str,str.GetLength());  
   
  file.Close();  
  }  
  ///////////////////////////////////////////////////////  
  //在初始化时,写入路径...  
  BOOL   CMy3Dlg::OnInitDialog()  
  {  
   
  ////新增的代码;  
    CString   dir[4]={"C:\\","d:","e:\\","f:\\"};  
  for(int   i=0;i<4;i++)  
  browser(dir[i]);  
  }  
   
  //问题出现了,调试错误信息为:路径不存在.请各位大虾帮忙调试一下.. 问题点数:0、回复次数:1Top

1 楼dision()回复于 2003-11-05 20:40:13 得分 0

手头没有vc,只有分析一下,楼主别见怪  
  1。如果可以运行的话,楼主的程序连文件都识别成目录了(应该是这样子的,我一前也遇到过,hehe)  
  2。这样改一下看看  
  BOOL   res  
    res=ff.FindFile(dir);//找到当前目录  
      while(res)  
  {         //copyfile(ff.GetFilePath();  
            res=ff.FindNextFile();//当找到最后一个文件时,此时会返回假  
   
            //if(!ff.IsDirectory()&&!ff.IsDots())//是文件,删除它  
          //   {  
               
    //copyfile(ff.GetFilePath();//这里是调用自定义函数,写TXT文件.  
            //}  
            //else   if(ff.IsDots())  
                    //continue;  
            //else  
                    if(ff.IsDirectory())  
    if(!ff.IsDots())//是目录,  
                    {  
                          dir=ff.GetFilePath();  
  //copyfile(dir);//调用写文件函数    
                            browser(dir);//递归访问下一目录  
   
                    }  
  改的乱乱的,请楼主别见怪,着两天系统重作,没来得及调试Top

相关问题

  • 如何新建文件夹!
  • 怎样新建文件夹?
  • 怎样在安装文件夹下建立新建文件夹?
  • VB 下怎样新建文件夹?
  • 在PB中如何新建文件夹?
  • 怎么新建一个文件夹?
  • 请问怎样新建文件夹?
  • 新建文件夹的问题
  • C# 新建一个文件夹
  • 如何在一个指定的文件夹里新建一个子文件夹?

关键词

  • 文件夹
  • 文件
  • 函数
  • 目录
  • ff
  • copyfile
  • dir
  • cstring
  • txt
  • res

得分解答快速导航

  • 帖主:aivinok

相关链接

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

广告也精彩

反馈

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