次の方法で共有


CStdioFile::CStdioFile

更新 : 2007 年 11 月

コンストラクタの既定のバージョンは、CFile::Open メンバ関数と共に動作してエラーを調べます。

CStdioFile( );
CStdioFile(
   FILE* pOpenStream 
);
CStdioFile(
   LPCTSTR lpszFileName,
   UINT nOpenFlags 
);

パラメータ

  • pOpenStream
    C ランタイム関数 fopen の呼び出しで返すファイル ポインタを指定します。

  • lpszFileName
    目的のファイルのパスを表す文字列を指定します。相対パスまたは絶対パスを指定できます。

  • nOpenFlags
    共有モードおよびアクセス モード。ファイルのオープン時の動作を指定します。オプションをビットごとの OR (|) 演算子で組み合わせることができます。少なくとも、1 つのアクセス許可指定とテキスト/バイナリの指定が必要です。create モードと noInherit モードはオプションです。モードのオプションおよびほかのフラグについては、「CFile::CFile」を参照してください。MFC Version 3.0 以降では、共有フラグを指定できます。

解説

パラメータを 1 つ持つコンストラクタは、既に開かれたファイルのポインタを使って CStdioFile オブジェクトを構築します。ポインタ値には、組み込みの入出力用のファイル ポインタ stdinstdout または stderr を指定できます。

パラメータを 2 つ持つコンストラクタは、CStdioFile オブジェクトを構築し、指定されたパスに一致するオペレーティング システム ファイルを開きます。

ファイルを開けなかったとき、または作成できなかったときは、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

参照

参照

CStdioFile クラス

階層図

その他の技術情報

CStdioFile のメンバ