次の方法で共有


ファイルを開く

更新 : 2007 年 11 月

MFC では、通常、次の 2 段階の操作でファイルを開きます。

ファイルを開くには

  1. パスもアクセス許可フラグも指定せずに、ファイル オブジェクトを作成します。

    通常、スタック フレーム上に変数 CFile を宣言して、ファイル オブジェクトを作成します。

  2. ファイル オブジェクトのメンバ関数 Open を呼び出します。パラメータとしてパスとアクセス許可フラグを渡します。

    ファイルが正常に開くと、Open の戻り値として 0 以外の値が返ります。ファイルを開けなかったときは 0 が返ります。メンバ関数 Open は、次のようにプロトタイプ宣言されています。

    virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );

    フラグを指定して、ファイルのアクセス許可 (読み取り専用など) を設定します。フラグとして使用できる値は、CFile クラスで列挙型定数として定義されているので、フラグには修飾子 "CFile::" を付けます。たとえば、CFile::modeRead のように指定します。ファイルを新規作成するときは、CFile::modeCreate フラグを指定します。

次の例では、読み出し/書き込み可能な新規ファイルを作成します (指定したパスに同名のファイルがあるときは上書きされます)。

TCHAR* pszFileName = _T("c:\\test\\myfile.dat");
CFile myFile;
CFileException fileException;

if ( !myFile.Open( pszFileName, CFile::modeCreate |   
        CFile::modeReadWrite, &fileException ) )
{
   TRACE( _T("Can't open file %s, error = %u\n"),
      pszFileName, fileException.m_cause );
}   
fthw9e38.alert_note(ja-jp,VS.90).gifメモ :

この例では、ファイルを作成し、開きます。問題が発生すると、Open は、CFileException オブジェクトを最後のパラメータで返します。TRACE マクロは、ファイル名とオープン失敗の理由コードを表示します。AfxThrowFileException 関数を使うと、さらに詳細な情報を得ることができます。

参照

概念

MFC のファイル