设为首页 加入收藏

TOP

VisualC++编程中的文件操作
2014-11-01 14:00:05 来源: 作者: 【 】 浏览:59
Tags:VisualC 编程 文件 操作

  各种关于文件的操作在程序设计中十分常见,如果能对这些操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而可以在较短的时间内编写出高效的代码。本文对Visual C++中有关文件操作进行了全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行了详细分析。


  1. 文件的查找


  当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中有一个专门用来进行文件查找的类“CFileFind”,使用它可以方便快捷地进行文件的查找。下面这段代码演示了这个类的最基本使用方法。


  CString strFileTitle;


  CFileFind finder;


  BOOL bWorking = finder.FindFile(“C:\\windows\\sysbkup\\*.cab”);


  while(bWorking)


  {


  bWorking=finder.FindNextFile();


  strFileTitle=finder.GetFileTitle();


  }


  2. 文件的打开/保存对话框


  让用户选择文件进行打开和存储操作时,就要用到文件打开/保存对话框。MFC的类“CFileDialog”用于实现这种功能。使用“CFileDialog”声明一个对象时,第一个 BOOL型参数用于指定文件的打开或保存,当为TRUE时将构造一个文件打开对话框,为FALSE时构造一个文件保存对话框。


  在构造“CFileDialog”对象时,如果在参数中指定了“OFN_ALLOWMULTISELECT”风格,则在此对话框中可以进行多选操作。此时要重点注意为此“CFileDialog”对象的“m_ofn.lpstrFile”分配一块内存,用于存储多选操作所返回的所有文件路径名,如果不进行分配或分配的内存过小就会导致操作失败。下面这段程序演示了文件打开对话框的使用方法。


  CFileDialog mFileDlg(TRUE, NULL,NULL, OFN_HIDEREADONLY|OFN_OVER


  WRITEPROMPT|OFN_ALLOWMULTISELECT,“All Files (*.*)|*.*| |”, AfxGetMainWnd());


  CString str(“ ”, 10000);


  mFileDlg.m_ofn.lpstrFile=str.GetBuffer(10000);


  str.ReleaseBuffer();


  POSITION mPos=mFileDlg.GetStartPosition();


  CString pathName(“ ”, 128);


  CFileStatus status;


  while(mPos!=NULL)


  {


  pathName=mFileDlg.GetNextPathName(mPos);


  CFile::GetStatus(pathName, status); [ 3. 文件的读写


  文件的读写非常重要,下面将重点进行介绍。文件读写最普通的方法是直接使用“CFile”类进行,如文件的读写可以使用下面的方法:


  //对文件进行读操作


  char sRead[2];


  CFile mFile(_T(“user.txt”),CFile::modeRead);


  if(mFile.GetLength()<2)


  return;


  mFile.Read(sRead,2);


  mFile.Close();


  //对文件进行写操作


  CFile mFile(_T(“user.txt”), CFile::modeWrite|CFile::modeCreate);


  mFile.Write(sRead,2);


  mFile.Flush();


  mFile.Close();


  }


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++辨析系列之前言 下一篇利用C++Builder5.0创建用户自己的..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: