打开文件
在 MFC 中,最常用方式打开文件这一过程包含两个阶段。
打开文件
创建文件对象,而无需指定路径或权限标志。
通过声明在堆栈帧的一个 C 文件 变量通常创建一个文件对象。
调用文件对象的 打开 成员函数,并提供路径和权限标志。
Open 的返回值将不为零,如果成功打开的文件或 0,则无法打开所指定的文件。Open 成员函数原型如下所示:
virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );
打开标志指定哪些权限,例如只读,则为文件需要。可能的标志值定义为 CFile 类中的枚举常数,因此,它们未用 “CFile::”在 CFile::modeRead。,如果要创建文件,请使用 CFile::modeCreate 标志。
下面的示例演示如何用读/写权限创建一个新文件 (替换以上所有文件的相同路径):
TCHAR* pszFileName = _T("c:\\test\\myfile.dat");
CFile myFile;
CFileException fileException;
if ( !myFile.Open( pszFileName, CFile::modeCreate |
CFile::modeReadWrite, &fileException ) )
{
TRACE( _T("Can't open file %s, error = %u\n"),
pszFileName, fileException.m_cause );
}
说明 |
---|
此示例将创建并打开一个文件。如果存在问题, Open 调用可以返回在其最后一个参数的一 CFileException 对象,如下所示。TRACE 宏打印指示失败的文件名和一个代码原因。,如果需要更详细的错误报告,可以调用 AfxThrowFileException 功能。 |