1

txt ファイルなどの単純なファイルからテキストを読み取るために fgets を使用していますが、前の行に戻る機能が必要です。fgetsを使用してこれを行う方法はありますか? または、テキストを何らかの配列/構造体に保存するだけですか?

4

2 に答える 2

2

fseekfgetposまたはとの組み合わせfsetposが適切です。私の知る限り、 「行Xに移動」機能はありません。fseekまたはfsetposを使用して移動する代わりに、各行に関するいくつかの情報 (開始位置など) を保存する必要があります。

于 2010-09-20T13:30:53.040 に答える
1

fseek()友達と一緒に問題を解決できるかもしれません( http://linux.die.net/man/3/fseek)。

ただし、「fseek」関数をテキストファイルと混合すると(特に同じストリームの読み取りと書き込みを行う場合)、改行のライブラリ変換が原因で問題が発生する可能性があります。

メモリが不足していなければ、前の行の情報を保存することにします。

さらに良いことに、可能であれば、アルゴリズム/データ構造を確認して、戻る必要がないようにします。

于 2010-09-20T13:35:15.930 に答える