FileReadArray 関数
この関数は、開いているbinファイルのファイルポインタの現在位置から配列データ(文字列データを除く)を読み取ります。
文字列の配列データは txtファイルから読み取ることができます。
読み取るファイルの指定は、FileOpen関数によって取得されるファイルハンドルを使って行ないます。
データ型と構成・戻り値
uint FileReadArray(①, ②, ③, ④);
戻り値は、処理が成功した場合は、読み取った配列の要素数を返します。エラーの場合は 0を返します。
発生するエラーについては、GetLastError関数で取得することができます。
引数 [4]
FileReadArray関数は 4個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | file_handle | int | - | - | FileOpen関数によって取得されるファイルハンドル。 |
② | array[] | void& | - | - | データを読み取る配列。 |
③ | start | int | - | 0 | 読み取る配列の開始位置。インデックス値で指定します。初期値の「0」は始めから読み取ります。 |
④ | count | int | - | WHOLE_ARRAY | 読み取る要素数。初期値の「WHOLE_ARRAY」は開始位置以降のすべてのデータを読み取ります。 |
使用例
FileReadArray関数による binファイル内の配列データの読み取り
FileReadArray関数を使って指定した binファイル内の配列データを読み取ります。読み取ったデータは arr2配列 (引数②) の中に格納されます。
binファイルには FileWriteArray関数を使って配列データ{9, 8, 7}を書き込んだものを準備します。
作成した「test.bin」の場所については FileOpen関数のページで確認してください。
コード
// FileReadArray関数による 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);
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)