FileReadInteger 関数
この関数は、開いているファイルのファイルポインタの現在位置から int、short、char型の値を読み取ります。
データ型と構成・戻り値
int FileReadInteger(①, ②);
戻り値は、開いているファイルのファイルポインタの現在位置から int、short、char型の値を取得します。
引数 [2]
FileReadInteger関数は 2個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | file_handle | int | - | - | FileOpen関数によって取得されるファイルハンドル。 |
② | size | int | - | INT_VALUE | 読み取る必要があるバイト数。次の 3つから選択できます。 ●CHAR_VALUE:char、uchar型の時に使用(1バイト)。 ●SHORT_VALUE:short、ushort型の時に使用(2バイト)。 ●INT_VALUE:int、uint型の時に使用(4バイト)。 初期値の「INT_VALUE」は、「CHAR_VALUE」と「SHORT_VALUE」を含みます。 |
この関数の結果は、対象の型を読み取る必要があるデータ型を明示的にキャストする必要があります。int型の値が返されるため、任意の整数値に簡単に変換できます。ファイルポインタは、読み取ったバイト数だけ移動します。
4バイト未満を読み取る場合、受信結果は常に正です。1バイトまたは 2バイトが読み取られる場合、char (1バイト) または short (2バイト) 型への明示的なキャストによって、数値の符号を判別できます。
使用例
FileReadInteger関数によるファイル内整数値の読み取り
FileReadInteger関数を使って指定した binファイルの int型の値を読み取ります。
読み取るファイルは FileOpen関数で選択します。もし、ファイルが存在しない場合は新規にファイルが作成されます。選択したファイルには FileWriteInteger関数を使って int型の値「12,345」を書き込んでおきます。int型の値の範囲についてはこちらでご確認ください。
書き込んだファイルの場所については FileOpen関数のページで確認してください。
コード
// FileReadInteger関数によるファイル内整数値の読み取り
#property strict
void OnInit() {
string filename = "test.bin"; // ファイル名
int handle; // ファイルハンドル
handle = FileOpen(filename, FILE_READ | FILE_WRITE | FILE_BIN );
uint b = FileWriteInteger(handle, 12345);
FileSeek(handle, 0, SEEK_SET); // ファイルポインタの位置を先頭に移動
Print("ファイルの内容:", FileReadInteger(handle));
Print("書き込んだバイト数:", b);
FileClose(handle);
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)