ファイルオープンフラグ

ファイルオープンフラグの値は、開くファイルのアクセスモード指定に使用します。

定数詳細
FILE_READ1ファイルは読み込みの為に開かれます。
フラグはFileOpen()関数で使用されます。
ファイルと開く時に、FILE_WRITE / FILE_READ指定する時に必要です。
FILE_WRITE2ファイルは書き込みの為に開かれます。
フラグはFileOpen()関数で使用されます。
ファイルと開く時に、FILE_WRITE / FILE_READ指定する時に必要です。
FILE_BIN4バイナリ読み込み/書き込みモード(文字列変換しない)。
フラグはFileOpen()関数で使用されます。
FILE_CSV8CSVファイル(UnicodeまたはANSI文字列に変換、セパレータ区切りを考慮)。
フラグはFileOpen()関数で使用されます。
FILE_TXT16シンプルなテキストファイル(UnicodeまたはANSI文字列に変換)。
フラグはFileOpen()関数で使用されます。
FILE_ANSI32ANSI型の文字列(1バイトのシンボル)。
フラグはFileOpen()関数で使用されます。
FILE_UNICODE64UNICODE型の文字列(2バイトのシンボル)。
フラグはFileOpen()関数で使用されます。
FILE_SHARE_READ128複数プログラムからの読み取りの為の共有アクセス。
フラグはFileOpen()関数で使用されますが、
ファイルを開く時にFILE_WRITE と FILE_READフラグを置き換えるものではありません。
FILE_SHARE_WRITE256複数プログラムからの書き込みの為の共有アクセス。
フラグはFileOpen()関数で使用されますが、
ファイルを開く時にFILE_WRITE と FILE_READフラグを置き換えるものではありません。
FILE_REWRITE512FileCopy()関数とFileMove()関数を使用して書き換える可能性があるファイル。
ファイルは書き込み用に開かれている必要があります。
それ以外の場合は開く事が出来ません。
FILE_COMMON4096クライアントターミナルのcommonフォルダのファイルパス(\Terminal\Common\Files)。
フラグはFileOpen(),FileCopy(),FileMove(),FileIsExist()関数で使用されます。

1つ以上のファイルを開く時、いくつかフラグを指定する事が出来ます。
フラグを組み合わせる事が出来ます。
フラグの組み合わせは、論理和の符号(|)を使用します。

例えば、CSV形式のファイルを読み取りと書き込みモードで開くには、
FILE_READ | FILE_WRITE | FILE_CSV
と書きます。

サンプルソース:

const string filename = "test.csv";  // ファイル名
       int    filehandle;             // ファイルハンドラ

filehandle = FileOpen( filename , FILE_READ | FILE_WRITE | FILE_CSV );

読み取り/書き込みフラグ指定する時、いくつかの特徴があります。

・FILE_READ指定した場合、既存ファイルを開こうと試みます。
 ファイルが存在しない場合は、ファイルオープン失敗します。新しいファイルは作成されません。

・FILE_READ | FILE_WRITE指定した場合、
 指定したファイルが存在しない場合、新しいファイルが作成されます。

・FILE_WRITE指定した場合、
 空のファイルが作成されます。

ファイルを開く時は、FILE_WRITE/FILE_READの指定が必要です。

読み込むファイルタイプのフラグは優先順位を持っています。
【高い優先順位】 FILE_CSV  >  FILE_BIN  >  FILE_TXT 【低い優先順位】

複数のフラグを同時に指定した場合(FILE_TXT  |  FILE_CSV または FILE_TXT  |  FILE_BIN または FILE_BIN  |  FILE_CSV)、
最も優先順位の高いフラグが使用されます。

エンコードタイプのフラグも優先順位を持っています。
FILE_UNICODEはFILE_ANSIより高い優先順位を持っています。
エンコードタイプを両方組み合わせた(FILE_UNICODE  |  FILE_ANSI)場合、FILE_UNICODEが使用されます。

テキストファイル(FILE_TXTまたはFILE_CSV)の読み込みの為に開く時、
特殊な2バイト(0xff,0xfe)で始まるファイルの場合はFILE_ANSIが指定されていても、
FILE_UNICODEで開かれます。

Twitterでフォローしよう

おすすめの記事