构造和初始化 CStdioFile 对象。
CStdioFile();
CStdioFile(
CAtlTransactionManager* pTM
);
CStdioFile(
FILE* pOpenStream
);
CStdioFile(
LPCTSTR lpszFileName,
UINT nOpenFlags
);
CStdioFile(
LPCTSTR lpszFileName,
UINT nOpenFlags,
CAtlTransactionManager* pTM
);
参数
pOpenStream
指定调用返回的文件指向C运行时函数 fopen。lpszFileName
指定是路径所需文件的字符串。该路径可以是相对路径,也可以是绝对路径。nOpenFlags
为文件创建、文件共享和文件访问方式指定选项。可以按位指定多个选项通过使用或(|)运算符。需要一个文件访问方式选项;其他模式是可选的。对模式的选项和其他标志列表参见 CFile::CFile。在MFC 3.0版和更高版本中,共享标志使。
pTM
为CAtlTransactionManager对象的指针。
备注
默认构造函数不将文件附加到 CStdioFile 对象。在使用此构造函数时,必须使用 CStdioFile::Open 方法打开文件并将其附加到 CStdioFile 对象。
单参数构造函数附加一个"打开文件传递给 CStdioFile 对象。允许使用指针值包括预定义的输入/输出文件指针 stdin、 stdout或 stderr。
两个参数构造函数创建一 CStdioFile 对象并打开包含给定路径的相应文件。
如果通过 pOpenStream 或 lpszFileName的 NULL,构造函数引发 CInvalidArgException*。
如果无法打开文件或创建的,则此构造函数引发 CFileException*。
示例
TCHAR* pFileName = _T("CStdio_File.dat");
CStdioFile f1;
if(!f1.Open(pFileName, CFile::modeCreate | CFile::modeWrite
| CFile::typeText))
{
TRACE(_T("Unable to open file\n"));
}
CStdioFile f2(stdout);
try
{
CStdioFile f3( pFileName,
CFile::modeCreate | CFile::modeWrite | CFile::typeText );
}
catch(CFileException* pe)
{
TRACE(_T("File could not be opened, cause = %d\n"),
pe->m_cause);
pe->Delete();
}
要求
标头: afx.h