次の方法で共有


ファイルを開く

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 );
}   

注意

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

参照

参照

CFile クラス

CFile::Open

概念

MFC のファイル