2

Posixシステムでは、stat構造体のst_blksizeメンバーに、特定のファイルのIOに最適なブロックサイズが含まれています。Win32のstat(_stat&_stat64)の実装はこのフィールドをサポートしていないようです。特定のファイルまたはファイルシステムに最適なIOブロックサイズを決定するWin32と同等の方法は何ですか?

4

1 に答える 1

2

これが常に最適な番号を返すかどうかはわかりませんが、Win32呼び出しGetDiskFreeSpaceは、とりわけ、lpBytesPerSectorそしてlpSectorsPerCluster;を返します。それらを乗算して、クラスターあたりのバイト数を取得します。これは、(おそらく)バッファーサイズとして使用するのに妥当な値です。

この呼び出しはファイルではなくファイルシステムに適用されるため、ファイルを使用する前に、ファイルが存在するルートを把握する必要があります。

于 2010-08-13T16:04:54.057 に答える