CFile クラスによるファイル・アクセス・モード


 CFileクラスは、MFCライブラリのファイル・サービスを行うクラスの基となるクラスです。 CStdioFileなどのファイル操作クラスはCFileを継承して提供されるものです。 従って、ファイル操作クラスで使用するファイルのアクセス・モードは、CFileクラスで提供されています。
 また、それらのモードはOR(|)演算子を使用して組み合わせると、より便利になります。

アクセス・モード意味
CFile::modeCreate新しいファイルを作るように指示します。
ファイルが既に存在するときは、ファイルの内容が切り捨てられ長さが 0 になります。
CFile::modeNoTruncatemodeCreateと組み合わせて使用します。
作成するファイルが既に存在しても、ファイルの長さを 0 に切り捨てません。
そのため、ファイルが新しく作成されるときでも、既存のファイルでも、確実に開かれます。
たとえば、設定ファイルを開くときなどにそのファイルが既に存在してもしなくても開けるので便利です。
CFile::modeReadファイルを読み出し専用で開きます。
CFile::modeReadWriteファイルを読み書き両用で開きます。
CFile::modeWriteファイルを書き込み専用で開きます。
CFile::modeNoInheritファイルを子プロセスに継承することを防ぎます。
CFile::shareDenyNone開かれたファイルは、他のプロセスから読み出しまたは書込みのためにアクセスされることを拒否しません。指定したファイルが他のプロセスにより互換モードで開かれているときは、Create 関数は失敗します。
CFile::shareDenyRead開かれたファイルは、他のプロセスからの読み出しのためのアクセスを拒否します。指定したファイルが他のプロセスにより互換モードまたは読み出しアクセスで開かれているときは、Create 関数は失敗します。
CFile::shareDenyWrite開かれたファイルは、他のプロセスからの書き込みのためのアクセスを拒否します。指定したファイルが他のプロセスにより互換モードまたは書き込みアクセスで開かれているときには、Create 関数は失敗します。
CFile::shareExclusiveファイルを排他モードで開きます。開かれたファイルは、他のプロセスからの読み出し/書き込みのアクセスを拒否します。ファイルが読み出しまたは書き込みアクセスなど他のモードで開かれているときは、現在のプロセスでも構築は失敗します。
CFile::typeText キャリッジ リターンとライン フィードの組み合わせに特別な処理をさせるテキスト モードを設定します (派生クラスのみで使います)。
CFile::typeBinaryバイナリ モードを設定します (派生クラスのみで使います)。