トップ  >  リファレンス  >  標準定数・列挙・構造体  >  入出力定数  >  ファイルオープンフラグ
スポンサーリンク
検索
カスタム検索
リファレンスツリー
オススメ

天才数学者のエドワード・オークリー・ソープの物語とジョン・ケリーの公式は必見です。
ファイルオープンフラグ


ファイルオープンフラグの値は、開くファイルのアクセスモード指定に使用します。
ID 詳細
FILE_READ 1 ファイルは読み込みの為に開かれます。
フラグはFileOpen()関数で使用されます。
ファイルと開く時に、FILE_WRITE / FILE_READ指定する時に必要です。
FILE_WRITE 2 ファイルは書き込みの為に開かれます。
フラグはFileOpen()関数で使用されます。
ファイルと開く時に、FILE_WRITE / FILE_READ指定する時に必要です。
FILE_BIN 4 バイナリ読み込み/書き込みモード(文字列変換しない)。
フラグはFileOpen()関数で使用されます。
FILE_CSV 8 CSVファイル(UnicodeまたはANSI文字列に変換、セパレータ区切りを考慮)。
フラグはFileOpen()関数で使用されます。
FILE_TXT 16 シンプルなテキストファイル(UnicodeまたはANSI文字列に変換)。
フラグはFileOpen()関数で使用されます。
FILE_ANSI 32 ANSI型の文字列(1バイトのシンボル)。
フラグはFileOpen()関数で使用されます。
FILE_UNICODE 64 UNICODE型の文字列(2バイトのシンボル)。
フラグはFileOpen()関数で使用されます。
FILE_SHARE_READ 128 複数プログラムからの読み取りの為の共有アクセス。
フラグはFileOpen()関数で使用されますが、
ファイルを開く時にFILE_WRITE と FILE_READフラグを置き換えるものではありません。
FILE_SHARE_WRITE 256 複数プログラムからの書き込みの為の共有アクセス。
フラグはFileOpen()関数で使用されますが、
ファイルを開く時にFILE_WRITE と FILE_READフラグを置き換えるものではありません。
FILE_REWRITE 512 FileCopy()関数とFileMove()関数を使用して書き換える可能性があるファイル。
ファイルは書き込み用に開かれている必要があります。
それ以外の場合は開く事が出来ません。
FILE_COMMON 4096 クライアントターミナルの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で開かれます。

スポンサーリンク



Copyright ©2015 MT4でEA自作しちゃお〜 All Rights Reserved.


Top

inserted by FC2 system