精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • read/write和fread/fwrite有什么區(qū)別

    read/write和fread/fwrite有什么區(qū)別
    其他人氣:436 ℃時間:2020-04-16 06:14:15
    優(yōu)質解答
    1,fread是帶緩沖的,read不帶緩沖(緩存緩沖區(qū)別?).
    2,fopen是標準c里定義的,open是POSIX中定義的.
    3,fread可以讀一個結構.read在linux/unix中讀二進制與普通文件沒有區(qū)別.
    4,fopen不能指定要創(chuàng)建文件的權限.open可以指定權限.
    5,fopen返回指針,open返回文件描述符(整數(shù)).
    6,linux/unix中任何設備都是文件,都可以用open,read.
    如果文件的大小是8k.你如果用read/write,且只分配了2k的緩存,則要將此文件讀出需要做4次系統(tǒng)調用來實際從磁盤上讀出.如果你用fread/fwrite,則系統(tǒng)自動分配緩存,則讀出此文件只要一次系統(tǒng)調用從磁盤上讀出.也就是用read/write要讀4次磁盤,而用fread/fwrite則只要讀1次磁盤.效率比read/write要高4倍.如果程序對內存有限制,則用read/write比較好.都用fread 和fwrite,它自動分配緩存,速度會很快,比自己來做要簡單.如果要處理一些特殊的描述符,用read 和write,如套接口,管道之類的系統(tǒng)調用write的效率取決于你buf的大小和你要寫入的總數(shù)量,如果buf太小,你進入內核空間的次數(shù)大增,效率就低下.而fwrite會替你做緩存,減少了實際出現(xiàn)的系統(tǒng)調用,所以效率比較高.如果只調用一次(可能嗎?
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點,以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機版