2017-12-23 5 views
1

私はfgetpos/fsetposがファイルの位置に戻るために使われていることを知っています。fgetpos/fsetposはfseekより高速ですか?

しかし、私が最初にfseekでその位置にアクセスした場合、fgetpos/fsetposを使用して後で戻るか、同じfseekを使用する方が効率的ですか?

+0

どのシステムですか?私の推測は、これらの機能を実装しているほとんどのシステムまたはすべてのシステムで、違いがあればそれは無視できるということでしょう。しかし、確かに知るためには、実際に測定する必要があります。または、ソースコードが利用可能な場合は、そのソースコードを読んでください。 –

+0

私はWindowsにいるが、グループメイトはUnix上にあるので、一般的なものを探していた。 – Jespoke

答えて

1

fgetpos/fsetposはfseekより高速ですか?

一般的なファイルの配置では、fseek()/ftell()は約LONG_MAXのファイルサイズに制限されています。 fsetpos()/fgetpos()は、ファイルシステムのファイルサイズを処理するように設計されています。

大きなファイルの場合、fseek()/ftell()はオプションではありません。 @Thomas Padron-McCarthy

C99以降のコードでは、より限定されたfseek()/ftell()を使用して存在しない可能性があるマイナーな最適化の代わりに、堅牢なコードでfsetpos()/fgetpos()が使用されます。

関連する問題