mfc文件操作CFile类之创建文件的方法

时间:2022-11-07 10:02:06

mfc文件操作类CFile

CFile类的几种构造函数

?
1
2
3
4
5
6
CFile();//不带参数的构造函数。
CFile(int hFile);//带文件句柄参数的构造函数。
CFile(
LPCTSTR lpszFileName,//要打开的文件路径
UINT nOpenFlage //打开文件时的共享和访问模式
);//带文件路径和打开方式的构造函数

除了用构造函数打开文件外还可以用CFile类的成员函数Open来打开

OPen函数原型

?
1
2
3
4
5
virtual BOOL Open(
LPCTSTR lpszFilename,//打开文件的路径,可以是绝对路径,也可以是相对路径。
UINT nOpenFlags, //打开文件时的共享和访问模式。
CFileException *pError=NULL//打开文件的异常捕获变量
);

CFile构造函数和CFile成员函数Open的参数nOpenFlage 可以是以下任意组合(使用位或|组合):

 

CFile::modeCreate 新建文件,如果文件已存在,则清空文件长度。
CFile::modeNotruncate 与modeCreate组合使用。如果创建的文件已经存在,则打开已存在的文件,不存在则新建文件。
CFile::modeRead 以只读方式打开文件。
CFile::modeWrite 以只写方式打开文件。
CFile::modeNoInherit 阻止文件从子进程中继承。
CFile::shareDenyNone 共享读写的打开文件。
CFile::shareDenyRead 排它读权限打开文件。
CFile::shareDenyWrite 排它写权限打开文件。
CFile::shareExclusive 排它模式打开文件。
CFile::typeText 文本模式打开文件。
CFile::typeBinary 二进制以写模式打开该文件。

 

创建文件并打开示例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void CMFCApplication42Dlg::OnBnClickedButton1()
{
  // TODO: 在此添加控件通知处理程序代码
  CString filename = _T("C:\\Users\\Administrator\\Desktop\\test.txt"); //定义文件名
  TRY //异常处理
  {
    CFile f(filename, CFile::modeCreate | CFile::modeWrite);
  }
  CATCH (CFileException, e)//异常触发
  {
    #ifdef _DEBUG //如果是调试模式
    afxDump << "打开文件失败" << e->m_cause << "\n";
    #endif
 
  }
  END_CATCH
}

总结

以上所述是小编给大家介绍的mfc文件操作CFile类之创建文件的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!