グローバル FILE
ポインター/ディスクリプターが必要です。関数の 1 つは、このポインター/記述子から読み取ります。ポインター/記述子に関連付けられた内部ポインターFILE
が進みます。この関数が戻った後、同じポインター/記述子から読み取り、他の関数が読み取ったのと同じデータを読み取りたいと考えています。FILE
しかし、内部ポインターが進んでいるため、まったく同じデータを読み取ることはできません。複製はオリジナルを反映するため、記述子の複製は機能しません。読み取り前にポインターを保存してFILE
も、それはポインターであるため機能せず、再び同じものを参照し始めます。
1 つの代替方法は、読み取り前に使用してファイル位置を保存し、次の読み取りの前にfgetpos()
使用することです。fsetpos()
ただし、これは記述子ではなくファイルポインターに対して機能します。
通常のポインターを使用すると、とても簡単です。FILE
しかし、ポインターを使用すると事態が難しくなります。
これを達成するための他の不器用な方法はありますか?