zoukankan      html  css  js  c++  java
  • MFC获取文件操作

    MFC文件操作大全

    1.创建文件夹 CreateDirectory(%%1,NULL);
    2.创建文件 CFile file;
    file.Open(%%1,CFile::modeCreate|CFile::modeWrite);
    3.删除文件 DeleteFile(%%1);
    4.删除文件夹 RemoveDirectory(%%1);
    5.删除一个目录下所有的文件夹 CFileFind finder; CString path; path.Format("%s\*.*",%%1); BOOL bWorking = finder.FindFile(path);
    while (bWorking) {      bWorking = finder.FindNextFile();      if (finder.IsDirectory())      {          RemoveDirectory(finder.GetFilePath());      } }
    6.清空文件夹 RemoveDirectory(%%1); CreateDirectory(%%1,NULL);
    7.读取文件 char sRead[5120]; CFile mFile(_T(%%1),CFile::modeRead); while (sRead!=NULL) {      mFile.Read(sRead,5120);      CString %%2(sRead);      %%3 } mFile.Close();

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

    10.读取文件属性 DWORD dwAttrs = GetFileAttributes(%%1); if(dwAttrs & FILE_ATTRIBUTE_READONLY)      {            %%2 }      if(dwAttrs & FILE_ATTRIBUTE_NORMAL){            %%3 }

    12.枚举一个目录下所有文件夹 CFileFind finder; CString path; path.Format("%s\*.*",%%1); BOOL bWorking = finder.FindFile(path);
    while (bWorking) {      bWorking = finder.FindNextFile();      if(finder.IsDirectory()){          CString %%1=finder.GetFilePath();          %%2      } }

     

    • 7楼19.复制一个文件夹下所有的文件到另一个目录

      //#include

      using std::string;

      char sep='/';

      #ifdef _WIN32

      sep='\';

      #endif

      CFileFind finder;

      CString path;

      path.Format("%s\*.*",%%1);

      BOOL bWorking = finder.FindFile(path);

      while (bWorking)

      {

           bWorking = finder.FindNextFile();

           if(!finder.IsDirectory() || finder.IsDots()){

               string s(finder.GetFileName());

               CString sourcefile(%%1);

               if(s.rfind(sep,s.length())!=string::npos)

               {

                   sourcefile=sourcefile+"//"+s.substr(i+1,s.length()-i);

                   CString targetfile(s.substr(i+1,s.length()-i));

                   targetfile=%%2+"//"+targetfile/;

                   CopyFile(sourcefile.GetBuffer(0),targetfile.GetBuffer(0),true);

               }

           }

      }

      20.提取扩展名

      CString path(%%1);

      CString %%2=path.Mid(path.ReverseFind('.'));

      21.提取文件名

      CString path(%%1);

      CString %%2=path.Mid(path.ReverseFind('\')+1);

      22.提取文件路径

      char appName[MAX_PATH];

      GetModualFileName(NULL,appName,MAX_PATH);

      //#include

      using std::string;

      string s(%%1);

      string newExt(%%2);

      string::size_type i=s.rfind('.',s.length());

      if(i!=string::npos)

      s.replace(i+1,newExt.length(),newExt);

      CString %%3(s);

       

      33.读取ini文件属性 CStdioFile inifile(%%1,CFile::modeRead); CString path = inifile.GetFilePath(); inifile.

  • 相关阅读:
    Java面经
    关于MarkDown语法
    JQuery
    Filter & Listener
    JSP & EL & JSTL
    Cookie & Session
    Servlet & HTTP
    Tomcat
    XML
    BootStrap
  • 原文地址:https://www.cnblogs.com/zhixing/p/3012599.html
Copyright © 2011-2022 走看看