<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 文件I/O編程之: 標準I/O編程

文件I/O編程之: 標準I/O編程

作者: 時(shí)間:2013-09-13 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/257135.htm

2.關(guān)閉文件

(1)說(shuō)明。

關(guān)閉標準流文件的為fclose(),該將緩沖區內的數據全部寫(xiě)入到文件中,并釋放系統所提供的文件資源。

(2)函數格式說(shuō)明。

fclose()函數格式如表6.18所示。

表6.18 fclose()函數語(yǔ)法要點(diǎn)

所需頭文件

#includestdio.h>

函數原型

intfclose(FILE*stream)

函數傳入值

stream:已打開(kāi)的文件指針

函數返回值

成功:0
失?。篍OF

3.讀文件

(1)()函數說(shuō)明。

在文件流被打開(kāi)之后,可對文件流進(jìn)行讀寫(xiě)等操作,其中讀操作的函數為()。

(2)()函數格式。

fread()函數格式如表6.19所示。

表6.19 fread()函數語(yǔ)法要點(diǎn)

所需頭文件

#includestdio.h>

函數原型

size_tfread(void*ptr,size_tsize,size_tnmemb,FILE*stream)

函數傳入值

ptr:存放讀入記錄的緩沖區

size:讀取的記錄大小

nmemb:讀取的記錄數

stream:要讀取的文件流

函數返回值

成功:返回實(shí)際讀取到的nmemb數目
失?。篍OF

4.寫(xiě)文件

(1)fwrite()函數說(shuō)明。

fwrite()函數用于對指定的文件流進(jìn)行寫(xiě)操作。

(2)fwrite()函數格式。

fwrite()函數格式如表6.20所示。

表6.20 fwrite()函數語(yǔ)法要點(diǎn)

所需頭文件

#includestdio.h>

函數原型

size_tfwrite(constvoid*ptr,size_tsize,size_tnmemb,FILE*stream)

續表

函數傳入值

ptr:存放寫(xiě)入記錄的緩沖區

size:寫(xiě)入的記錄大小

nmemb:寫(xiě)入的記錄數

stream:要寫(xiě)入的文件流

函數返回值

成功:返回實(shí)際寫(xiě)入的記錄數目
失?。篍OF

5.使用實(shí)例

下面實(shí)例的功能跟底層I/O操作的實(shí)例基本相同,運行結果也相同(請參考6.3.1節的實(shí)例),只是用標準I/O庫的文件操作來(lái)替代原先的底層文件系統調用而已。

讀者可以觀(guān)察哪種方法的效率更高,其原因又是什么。

#includestdlib.h>

#includestdio.h>

#defineBUFFER_SIZE1024/*每次讀寫(xiě)緩存大小*/

#defineSRC_FILE_NAMEsrc_file/*源文件名*/

#defineDEST_FILE_NAMEdest_file/*目標文件名文件名*/

#defineOFFSET10240/*復制的數據大小*/

intmain()

{

FILE*src_file,*dest_file;

unsignedcharbuff[BUFFER_SIZE];

intreal_read_len;

/*以只讀方式打開(kāi)源文件*/

src_file=fopen(SRC_FILE_NAME,r);

/*以寫(xiě)方式打開(kāi)目標文件,若此文件不存在則創(chuàng )建*/

dest_file=fopen(DEST_FILE_NAME,w);

if(!src_file||!dest_file)

{

printf(Openfileerrorn);

exit(1);

}

/*將源文件的讀寫(xiě)指針移到最后10KB的起始位置*/

fseek(src_file,-OFFSET,SEEK_END);

/*讀取源文件的最后10KB數據并寫(xiě)到目標文件中,每次讀寫(xiě)1KB*/

while((real_read_len=fread(buff,1,sizeof(buff),src_file))>0)

{

fwrite(buff,1,real_read_len,dest_file);

}

fclose(dest_file);

fclose(src_file);

return0;

}

讀者可以嘗試用其他文件打開(kāi)函數進(jìn)行練習。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

linux相關(guān)文章:linux教程




關(guān)鍵詞: I/O編程 Linux 操作系統 函數 fread

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>