fread 和 read的区别
生活随笔
收集整理的這篇文章主要介紹了
fread 和 read的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
f是ANSI的C標準庫。而后者的是UNIX下的系統調用。
fread帶有緩沖,是read的衍生,或者說fread是通過read實現的
要想直接和硬件打交道,必須用read
fopen/fread是C標準的庫函數,操作的對象是: file stream
open/read是和操作系統有關的系統調用。操作的對象是: “file descriptor”
fread返回的是一個FILE結構指針
而read返回的是一個int的文件號
如果文件的大小是8k。
你如果用read/write,且只分配了2k的緩存,則要將此文件讀出需要做4次系統調用
來實際從磁盤上讀出。
如果你用fread/fwrite,則系統自動分配緩存,則讀出此文件只要一次系統調用從磁
盤上讀出。
也就是用read/write要讀4次磁盤,而用fread/fwrite則只要讀1次磁盤。效率比read
/write要高4倍。
如果程序對內存有限制,則用read/write比較好。
一般用來處理文件
都用fread 和fwrite,它自動分配緩存,速度會很快,比自己來做要簡單如果要處理一些特殊的描述符,用read 和write,如套接口,管道之類的
轉載于:https://www.cnblogs.com/shaoguangleo/archive/2010/11/30/2805826.html
總結
以上是生活随笔為你收集整理的fread 和 read的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NetBeans IDE 7.1 Win
- 下一篇: CGDC