配列をbinファイルへ書込 FileWriteArray 関数

関数

ファイル関数

FileWriteArray 関数

 この関数は、開いている binファイルファイルポインタの現在位置から指定した配列データ(文字列データを除く)を書き込みます。

 文字列・動的配列を含まない構造体配列も書き込み可能です。 

 文字列の配列データは txtファイルに書き込むことができます。この場合、自動的に行末に改行文字 “\r\n” が書き込まれます。ファイルの種類は ANSIUnicodeで、文字列はいずれかに変換されます。

 書き込むファイルの指定は、FileOpen関数によって取得されるファイルハンドルを使って行ないます。

データ型と構成・戻り値

uint FileWriteArray(①, ②, ③, ④);

 戻り値は、処理が成功した場合は、書き込んだ配列の要素数を返します。エラーの場合は 0を返します。

 発生するエラーについては、GetLastError関数で取得することができます。

引数 [4]

 FileWriteArray関数は 4個の引数で構成されます。


引数名データ型単位初期値説明
file_handleintFileOpen関数によって取得されるファイルハンドル
array[]const void&ファイルに書き込む配列データ。
startint0書き込む配列の開始位置。インデックス値で指定します。初期値の「0」は始めから書き込みます。
countintWHOLE_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);
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました