CStdioFile::CStdioFile
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
ファイル作成、ファイル共有、およびファイル アクセスのモードを示すオプションを指定します。ビットごとの OR (|) 演算子を使用して、複数のオプションを指定できます。ファイル アクセス モード オプションが 1 つ必要ですが、その他のモードは省略できます。モードのオプションおよびほかのフラグについては、「CFile::CFile」を参照してください。MFC Version 3.0 以降では、共有フラグを指定できます。
pTM
CAtlTransactionManager オブジェクトへのポインター。
解説
既定のコンストラクターは、ファイルを CStdioFile オブジェクトにアタッチしません。このコンストラクターを使用する場合は、CStdioFile::Open メソッドを使用してファイルを開き、そのファイルを CStdioFile オブジェクトにアタッチする必要があります。
単一パラメーターのコンストラクターは、開いているファイル ストリームを CStdioFile オブジェクトにアタッチします。ポインター値には、組み込みの入出力用のファイル ポインター stdin、stdout、または stderr を指定できます。
2 つのパラメーターを持つコンストラクターは、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