FileWriteArray 関数
この関数は、開いている binファイルのファイルポインタの現在位置から指定した配列データ (文字列データを除く) を書き込みます。
文字列の配列データは txtファイルに書き込むことができます。この場合、自動的に行末に改行文字 “\r\n” が書き込まれます。ファイルの種類は ANSIと Unicodeで、文字列はいずれかに変換されます。
書き込むファイルの指定は、FileOpen関数によって取得されるファイルハンドルを使って行ないます。
データ型と構成・戻り値
uint FileWriteArray(①, ②, ③, ④);
戻り値は、処理が成功した場合は、書き込んだ配列の要素数を返します。エラーの場合は 0を返します。
発生するエラーについては、GetLastError関数で取得することができます。
引数 [4]
FileWriteArray関数は 4個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | file_handle | int | - | - | FileOpen関数によって取得されるファイルハンドル。 |
② | array[] | const void& | - | - | ファイルに書き込む配列データ。 |
③ | start | int | - | 0 | 書き込む配列の開始位置。インデックス値で指定します。初期値の「0」は始めから書き込みます。 |
④ | count | int | - | WHOLE_ARRAY | 書き込む要素数。初期値の「WHOLE_ARRAY」は開始位置以降のすべての配列データを書き込みます。 |
使用例
FileWriteArray関数による binファイルへの配列の書き込み
FileWriteArray関数を使って指定した binファイルに配列データ{9, 8, 7}を書き込みます。
書き込むファイルは FileOpen関数で選択します。もし、ファイルが存在しない場合は新規にファイルが作成されます。
書き込んだファイルの場所については FileOpen関数のページで確認してください。
コード
// FileWriteArray関数による binファイルへの配列の書き込み
#property strict
void OnInit() {
string filename = "test.bin"; // ファイル名
int handle; // ファイルハンドル
handle = FileOpen(filename, FILE_READ | FILE_WRITE | FILE_BIN );
int arr1[]={9,8,7}; // ファイルに書き込む配列データ
uint e = FileWriteArray(handle, arr1, 0, WHOLE_ARRAY);
FileSeek(handle, 0, SEEK_SET); // ファイルポインタの位置を先頭に移動
int arr2[]; // ファイルの配列データを読み出す配列データ
FileReadArray(handle, arr2, 0, WHOLE_ARRAY);
Print("配列の要素数:", e);
Print("binファイルに書き込んだ配列の内容:{ ",arr2[0],", ",arr2[1],", ",arr2[2]," }");
FileClose(handle);
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)