私はファイル全体を読み取るプログラムを作成しましたfgetc
:
while ((c = fgetc(f)) != EOF) { ... }
しかし、プログラムは遅すぎます。に変更fgetc
したときfread
、
static unsigned char buf[4096];
while ((n = fread(buf, 1, sizeof(buf), f)) > 0) { ... }
プログラムは約10倍速く動作します。
なんで?私が知っているようにfgetc
、バッファリングされた関数なので、明示的なバッファを備えた2番目のバージョンと同じくらい速く動作するはずですよね?