FileReadNumber 関数
この関数は、csvファイルのファイルポインタの現在位置から区切りまで (またはテキスト文字列の末尾まで) の文字列を読み取り、読み取った文字列を double型の値に変換します。
区切りとは、csvファイルの場合「;(セミコロン)」で文字列を分ける場合に使用されます。
データ型と構成・戻り値
double FileReadNumber(①);
戻り値は、csvファイルのファイルポインタの現在位置から区切りまで (またはテキスト文字列の末尾まで) の文字列を読み取り、読み取った文字列を double型の値で返します。文字列の中に数字以外の文字が混ざった場合 0.0が返されます。
引数 [1]
FileReadNumber関数は 1個の引数で構成されます。
使用例
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);
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)