次の方法で共有


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 オブジェクトにアタッチします。ポインター値には、組み込みの入出力用のファイル ポインター stdinstdout、または 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

参照

関連項目

CStdioFile クラス

階層図