FileReadString 関数
この関数は、開いているファイル内のファイルポインタの現在位置からの文字列を読み取ります。
データ型と構成・戻り値
string FileReadString(①, ②);
戻り値は、開いているファイルのファイルポインタの現在位置からの文字列を返します。
引数 [2]
FileReadString関数は 2個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | file_handle | int | - | - | FileOpen関数によって取得されるファイルハンドル。 |
② | length | int | - | 0 | 読み取る文字数(文字列の長さ)。binファイルのみ必要です。 |
binファイルから読み取る場合、読み取る文字列の長さを指定する必要があります。
txtファイルから読み取る場合、文字列の長さは必要なく、文字列は現在の位置から改行文字 “\r\n” まで読み取られます。
csvファイルから読み取る場合、文字列の長さも必要ありません。文字列は、現在の位置から最も近い区切り文字まで、またはテキスト文字列の終了文字まで読み取られます。
ファイルが FILE_ANSIフラグで開かれている場合、読み取られた行は Unicodeに変換されます。
使用例
FileReadString関数によるファイル内文字列の読み取り
FileReadString関数を使ってファイル内文字列を読み取ります。
今回「test.txt」ファイルに FileWrite関数で「testです。」と文字を書き、これを読み取ります。読み取りはファイルポインタの位置からになるので、ファイルポインタの位置を FileSeek関数を使って先頭に移動して読み取りを実行します。
作成した「test.txt」ファイルの場所については FileOpen関数のページで確認してください。
コード
// FileReadString関数によるファイル内文字列の読み取り
#property strict
void OnInit() {
string filename = "test.txt"; // ファイル名
int handle; // ファイルハンドル
handle = FileOpen(filename, FILE_READ | FILE_WRITE | FILE_TXT );
FileWrite(handle, "testです。");
FileSeek(handle, 0, SEEK_SET); // ファイルポインタの位置を先頭に移動
Print("ファイルの内容:", FileReadString(handle));
FileClose(handle);
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
結果
「test.txt」ファイル状態