Linux を実行している組み込みデバイスで、後で書き込むことになる大きな穴が最初にあるファイルを作成することが目的であるとしましょう。ファイルを開き、ファイル記述子を取得し、lseek
それを呼び出して特定の既知の位置をシークします。その後、シーク先の位置でそのファイルに書き込みたい場合は、それを呼び出しますwrite
。
ただし、最初の書き込みでは、シークによって作成された穴がゼロで埋められ、穴が十分に大きい場合、この操作には時間がかかる場合があります。私のアプリケーションでは、穴は正確な長さであり、後でデータで埋めるため、このゼロ初期化は必要ありません。
write
穴をゼロで埋めた後の最初の呼び出しを回避する方法はありseek
ますか (ファイルシステムドライバーの変更を伴う場合でも)? または、ファイルの先頭の前にファイルに書き込む方法はありますか (ファイルの先頭に追加します)。