Visual C++程式设计中的档案操作
各种关于档案的操作在程式设计中十分常见,如果能对这些操作都了若指掌,就可以根据实际情况找到最佳的解决方案,从而可以在较短的时间内编写出高效的代码。本文对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= ..
访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容