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