ファイル内の数字文字列を読取 FileReadNumber 関数

関数

ファイル関数

FileReadNumber 関数

 この関数は、csvファイルのファイルポインタの現在位置から区切りまで(またはテキスト文字列の末尾まで)の文字列を読み取り、読み取った文字列を double型の値に変換します。

 区切りとは、csvファイルの場合「;(セミコロン)」で文字列を分ける場合に使用されます。

データ型と構成・戻り値

double FileReadNumber(①);

 戻り値は、csvファイルのファイルポインタの現在位置から区切りまで(またはテキスト文字列の末尾まで)の文字列を読み取り、読み取った文字列を double型の値で返します。文字列の中に数字以外の文字が混ざった場合 0.0が返されます。

引数 [1]

 FileReadNumber関数は 1個の引数で構成されます。


引数名データ型単位初期値説明
file_handleintFileOpen関数によって取得されるファイルハンドル

使用例

FileReadNumber関数によるファイル内の数字文字列の読み取り

 FileReadNumber関数を使ってファイル内の数字文字列を読み取ります。

 今回「test.csv」ファイルに FileWrite関数で「123.456」と文字を書き、これを読み取ります。読み取りはファイルポインタの位置からになるので、ファイルポインタの位置を FileSeek関数を使って先頭に移動して読み取りを実行します。

 作成した「test.csv」ファイルの場所については FileOpen関数のページで確認してください。

コード

// FileReadNumber関数によるファイル内の数字文字列の読み取り
#property strict
void OnInit() {

string filename = "test.csv"; // ファイル名
int handle;                   // ファイルハンドル

handle = FileOpen(filename, FILE_READ | FILE_WRITE | FILE_CSV );

FileWrite(handle, "123.456");

FileSeek(handle, 0, SEEK_SET); // ファイルポインタの位置を先頭に移動

Print("ファイル内の数字文字列:", FileReadNumber(handle));

FileClose(handle);
}

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

結果

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