read()
低レベルのバッファなし読み取りです。 UNIX では直接システム コールを行います。
fread()
C ライブラリの一部であり、バッファリングされた読み取りを提供します。通常は read()
を呼び出すことで実装されます そのバッファを満たすために。
家族 read()
-> open
、 close
、 read
、 write
家族 fread()
-> fopen
、 fclose
、 fread
、 fwrite
ファミリー向け:
- システムコールです
- フォーマットされていない IO:フォーマットされていないバイト ストリームがあります
家族の恐怖
- 標準 C ライブラリ (libc) の関数です
- 内部バッファを使用
- 一部の IO は (「%..」パラメータで) フォーマットされています
- 常に Linux バッファ キャッシュを使用する
詳細はこちら。ただし、この投稿には誤った情報が含まれていることに注意してください。
read
fread
はシステムコールですが、 は C 標準ライブラリの関数です。