- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
檔案之輸入與輸出.doc
檔案之輸入與輸出
C++軟體本身提供了許多檔案的輸入與輸出,以方便讀者設計與檔案有關的系統函數。基本上,我們可以將這些函數分成兩大類。
有緩衝區輸入與輸出(Buffered I/O)
當它在讀取檔案資料或將資料寫入檔案時,一定都先經過一個緩衝區。
無緩衝區輸入與輸出(Unbuffered I/O)
所謂沒有緩衝區的輸入與輸出,表示輸入與輸出的動作是直接在磁碟內,執行讀取資料和寫入資料動作。
有緩衝區的輸入與輸出函數
函數名稱 功能說明 fopen( ) 開啟一個檔案 fclose( ) 關閉一個檔案 putc( ) 輸出一個字元到檔案 getc( ) 從某一個檔案讀取一個字元 fprintf( ) 輸出資料至某檔案 fscanf( ) 從某檔案讀取資料 feof( ) 測試是否到了檔案結束位置 ferror( ) 測試檔案操作是否正常 fseek( ) 設定準備讀取檔案資料的位置 rewind( ) 將準備讀取檔案資料位置,設定在檔案起始位置 remove( ) 檔案的刪除 fopen( )?用於開啟檔案,檔案在使用前是需先經過開啟動作的
格式如下:
FILE *fopen(char *filename, char *mode);
各項資料的定義如下所示:
*filename:*mode:r 開啟一個文字檔(text),供程式讀取。 w 開啟一個文字檔(text),供程式將資料寫入此檔案內。如果磁碟內不包含這個檔案,則系統會自行建立這個檔案。如果磁碟內包含這個檔案,則此檔案內容會被蓋過而消失。 a 開啟一個文字檔(text),供程式將資料寫入此檔案的末端。如果此檔案不存在,則系統會自行建立此檔案。 rb 開啟一個二元檔(binary),供程式讀取。 wb 開啟一個二元檔,供程式將資料寫入此檔案內。如果磁碟內不包含這個檔案,則系統會自行建立這個檔案。如果磁碟內包含這個檔案,此檔案內容會被蓋過而消失。 ab 開啟一個二元檔(binary),供程式將資料寫入此檔案末端,如果此檔案不存在,則系統會自行建立此檔案。
fclose( ) 用於關閉檔案,如果fclose( )執行失敗,它的傳回值是非零值
在C語言中關閉檔案主要有兩個目的:
檔案在關閉前會將檔案緩衝區資料寫入磁碟檔案內,否則檔案緩衝區資料會遺失。
一個C語言程式,在同一時間可開啟的檔案數量有限,一般是20個,如果你的程式很大,要開啟超過20個檔案時,你必須將暫時不用的檔案關閉。
fprintf( ) 主要目的是供你將資料,以格式化方式寫入某檔案內
使用格式如下:
fprintf( fp , ……. , ………);
此函數控制列印區和列印和列印變數區的使用,格式和printf( )使用格式相同. fprintf( )和printf( )兩者唯一的差別是,printf( )會將資料列印在螢幕上,而fprintf( )會將資料列印在某個檔案內。
#include stdio.h
void main()
{
FILE *fp;
int var,i;
int sum = 0;
float average;
fp = fopen(data1.txt,w); /* open file pointer */
for ( i = 0; i 5; i++ )
{
printf(\1: input number %d here == ,i+1);
scanf(%d,var);
sum += var;
fprintf(fp,%d\n,var);
}
average = (float) sum / 5.0;
fprintf(fp,\2: The average is %6.2f,average);
fclose(fp);
}
fscanf( ) 主要的目的是讓我們從某個檔案讀取資料
使用格式如下:
fscanf( fp , ……. , ………);
fscanf( )函數和scanf( )函數兩者之間最大的差別在,scanf( )函數主要用於從鍵盤輸入讀取資料,fscanf( )函數則是從fp檔案指標所指的檔案讀取資料。
#include stdio.h
void main()
{
FILE *fp;
int i, j, var;
fp = fopen(data2.txt,r); /* open file pointer */
for ( i = 0; i 5; i++ )
{
for ( j = 0;
原创力文档


文档评论(0)