3

tcl を使用してファイル内の複数行を読み取るにはどうすればよいですか? つまり、デフォルトでは gets コマンドは新しい行が見つかるまで読み取りますが、特定の文字が見つかるまでファイルを読み取るようにこの動作を変更するにはどうすればよいですか?

4

3 に答える 3

3

を使用しfconfigureます。

set fp [open "somefile" r]
fconfigure $fp -eofchar "char"
set data [read $fp]
close $fp
于 2012-09-27T05:39:27.077 に答える
2

Donal のアドバイスに加えて、ファイル全体を読み取り、レコード セパレータで分割することで、レコードのリストを取得できます。

package require textutil::split
set records [textutil::splitx [read $chan] "record_separator"]

ドキュメンテーション

于 2012-09-27T10:41:45.263 に答える