文件相关操作 C++源代码

  • k9_360462
    了解作者
  • 1.2KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-25 04:45
    上传日期
用c实现的一些比较常见的文件操作,写成了函数,可以直接调用:文件的读,文件的写,文件夹的复制,创建,删除,子文件的统计等
文件相关操作 C++源代码.rar
  • fileoperate.h
    2.6KB
内容介绍
bool filewrite_str(LPCTSTR filepath,LPCTSTR str); bool foldercopy(LPCSTR flodersource,LPCSTR folderobject); bool isfolder(LPCTSTR strfloder); bool createfolder(LPCTSTR strfolder); int countsubfolder(LPCTSTR strfolder); bool folderdelete(LPCSTR strfolder); void str_huanhang(LPCTSTR tmp,char *str); void str_huanhang(LPCTSTR tmp,char *str) { int i=0; int j=0; while(tmp[i]!='\0') { if(tmp[i]=='\r') { str[j]='\r'; j++; str[j]='\n'; }else { str[j]=tmp[i]; } i++; j++; } str[j]='\0'; return; } //将字符串写入指定文件 bool filewrite_str(LPCTSTR filepath,LPCTSTR str) { FILE *fw=fopen(filepath,"w"); if(!fw) return false; char *strtmp=(char *)malloc(strlen(str)+20); memset(strtmp,0,sizeof(strtmp)); str_huanhang(str,strtmp); fwrite(strtmp,sizeof(char),strlen(strtmp),fw); fclose(fw); return true; } //将文件读到一缓冲区里, bool fileread_str(LPCTSTR filepath,char str[]) { FILE *fw=fopen(filepath,"r"); if(!fw) return false; fread(str,sizeof(char),1024,fw); fclose(fw); return true; } //文件夹的复制(包括子文件的复制) bool foldercopy(LPCSTR foldersource,LPCSTR folderobject) { SHFILEOPSTRUCT op; LPCSTR strFrom=foldersource; LPCSTR strTo=folderobject; op.hwnd = NULL; op.pFrom = strFrom ; op.pTo = strTo ; op.fFlags = FOF_WANTMAPPINGHANDLE|FOF_NOCONFIRMATION|FOF_SILENT; op.wFunc = FO_COPY; if(::SHFileOperation(&op)) { return false; } return true; };//第一个参数需谨慎使用,不能用CString类型,有时不能复制所有的子目录???奇怪?? //判断文件夹是否存在 bool isfolder(LPCTSTR strfolder) { if(!::SetCurrentDirectory(strfolder)) { return false; } return true; }; //创建一个新的文件夹 bool createfolder(LPCTSTR strfolder) { if(isfolder(strfolder)) return true; if(::CreateDirectory(strfolder,NULL)) return true; return false; }; //统计一文件夹中有多少子文件夹 int countsubfolder(LPCTSTR strfolder) { int i=0; WIN32_FIND_DATA fin; HANDLE hfile=::FindFirstFile(strfolder,&fin); DWORD errorcode = 0; while(hfile!=INVALID_HANDLE_VALUE&&errorcode!=ERROR_NO_MORE_FILES) { i++; if(!::FindNextFile(hfile,&fin)) errorcode=GetLastError(); } ::FindClose(hfile); if(i>2) return i-2; return 0; } //删除文件夹 bool folderdelete(LPCSTR strfolder) { SHFILEOPSTRUCT op; LPCSTR strFrom=strfolder; op.hwnd = NULL; op.pFrom = strFrom ; op.fFlags = FOF_WANTMAPPINGHANDLE|FOF_NOCONFIRMATION|FOF_SILENT; op.wFunc = FO_DELETE; if(::SHFileOperation(&op)) { return false; } return true; }
评论
    相关推荐
    • C++ Primer
      C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。 对C++基本概念和技术全面而且权威的阐述,对...
    • c++课件
      c++课件c++课件c++课件c++课件c++课件c++课件c++课件c++课件c++课件c++课件c++课件c++课件c++课件
    • C++ PRrimer
      本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。本版对前一版进行了彻底的...
    • C++
      C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++
    • C++ primer
      本文档具有C++ primer 以及 C++ primer 标准答案各一份,内容清晰充实!希望与热爱C++的学友们一起同舟共济,努力学习!
    • C++ primer
      本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。本版对前一版进行了彻底的...
    • c++yuyanbiancheng
      这是C和C++集成的编程环境!这是C和C++集成的编程环境!这是C和C++集成的编程环境!这是C和C++集成的编程环境!这是C和C++集成的编程环境!
    • effective C++
      有关C++编程方面的检验性介绍,对由C转向C++,和有C++编程基础的程序员有帮助,不过是英文版
    • C++ Primer
      这本处适合各个阶段的C++程序员,这本书可以帮助初学者快速入门,里面有最实用,最容易理解的代码;同时这也是有经验的C++程序员最好的一本参考手册
    • C++ Primer
      本书是久负盛名的C++经典教程引,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++