C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 52 を表示中)
■28697 / )  Re[27]: バイナリコード内の16進数での文字列検索
□投稿者/ あんどちん (26回)-(2008/11/28(Fri) 23:46:17)
No28684 (.SHO さん) に返信
> ■No28679 (.SHO さん) に返信
>
>>なぜかと言うとFILE構造体の中では256バイトのリングバッファを持っていて
>
> また突っ込まれそうなので補足しておきます。
> K&Rの頃は256バイト固定だったんですが、今調べてみたらVCでは4096バイトでした。
> 今時256バイトはないですね。。。
> 4096バイトの方がディスクのFATセグメントとも相性がいいですし。

僕が以前関わっていたプロジェクトで使用していたライブラリではf系のファイル関数は512バイト単位でファイルシステムへアクセスしていました。(ライブラリの再構築で変更可能)
古いライブラリでの256バイトのバッファサイズは恐らく当時であればフロッピーのセクタサイズと合っていたから、もしくはメモリ使用量を考慮してではないでしょうか。最近ではFAT32/NTFS共クラスタサイズを4Kで取ってフォーマットしている事が多いでしょうから最近のVCのライブラリがそのサイズなのはご指摘の通りなのでしょうね。
# ISO9660やUDFは工学メディアのセクタサイズが2Kなので4Kだと倍数だから収まりがいいのかな?

ところでFILE構造体にバッファを持つことは規定されているのでしょうか?FILE構造体の実装はベンダー依存のような気がします。

返信 編集キー/


管理者用

- Child Tree -