filestrseek2

文字列をファイルの末尾から先頭へ向かって検索する。

filestrseek2 <file handle> <string>

解説

ファイルハンドル <file handle> で指定されるファイルから、文字列 <string> を検索する。
検索は現在のファイルポインタの位置から開始する。検索はファイルの先頭の方に向かって行われる。逆方向の検索には "filestrseek" コマンドを使用する。
<string> が見つかった場合、ファイルポインタは <string> の直前の文字の位置になり、システム変数 result に 1 が格納される。ただし、ファイルの1バイト目だった場合は、ファイルポインタはゼロオフセットとなる。
<string> が見つからなかった場合、ファイルポインタは移動せず、システム変数 result に 0 が格納される。
このコマンドを実行する前にすでにファイルポインタが 0 の場合、result に 0 が格納される。

; ファイル "teraterm.log" をオープン、ファイルポインタはファイルの最後
fileopen fhandle 'teraterm.log' 1

:next
; 文字列 "abc" を後方検索
filestrseek2 fhandle 'abc'
if result=0 goto not_found
; ポインタを保存
filemarkptr fhandle
; "abc" の直前の文字からその行の終わりまでを読み込む
filereadln fhandle str
; ポインタを戻す
fileseekback fhanlde
; 次を検索
goto next

:not_found
fileclose fhandle