CStdioFile::CStdioFile
CStdioFile( );
CStdioFile( FILE* pOpenStream );
CStdioFile( LPCTSTR lpszFileName, UINT nOpenFlags );
throw( CFileException );
参数:
pOpenStream
指定由C运行时函数fopen调用返回的文件指针。
lpszFileName
指定表示需要文件的路径的字符串。该路径可以是相对路径,也可以是绝对路径。
nOpenFlags
共享和访问方式。指定当文件打开时要进行的动作。可以通过使用位或OR(|)操作符来组合选项。需要一个访问允许和一个文本—二进制标识符;create和noInherit方式是可选的。参见CFile::CFile可以获得方式选项和其它标志的列表。在MFC 3.0及以后版本中,共享标志是允许的。
说明:
此构造函数的缺省版本与CFile::Open成员函数联合工作以测试错误。
一个参数的构造函数版本从一个已经打开的文件的指针构造一个CStdioFile对象。允许指针值包括预定义的输入/输出文件指针stdin,stdout,和stderr。
两个参数的构造函数版本构造一个CStdioFile对象并根据给定的路径打开相应的操作系统文件。
如果不能被打开或创建则抛出CFileException。
示例:
// CStdioFile::CStdioFile示例:
char* pFileName = "test.dat";
CStdioFile f1;
if( !f1.Open( pFileName, CFile::modeCreate | CFile::modeWrite | CFile::typeText ) )
{
#ifdef _DEBUG
afxDump << "Unable to open file" << "\n";
#endif
exit(1);
}
CStdioFile f2( stdout );
TRY
{
CStdioFile f3( pFileName, CFile::modeCreate | CFile::modeWrite | CFile::typeText );
}
CATCH( CFileException, e )
{
#ifdef _DEBUG
afxDump << "File could not be opened!" << e->m_cause << "\n";
#endif
}
END_CATCH