首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
一、標準文件的讀寫
1.文件的打開fopen()
文件的打開操作表示將給用戶指定的文件在內存分配一個FILE結構區,并將該結構的指針返回給用戶程序,以后用戶程序就可用此FILE指針來實現對指定文件的存取操作了。當使用打開函數時,必須給出文件名、文件操作方式(讀、寫或讀寫),如果該文件名不存在,就意味著建立(只對寫文件而言,對讀文件則出錯),并將文件指針指向文件開頭。若已有一個同名文件存在,則刪除該文件,若無同名文件,則建立該文件,并將文件指針指向文件開頭。
fopen(char *filename,char *type);
其中*filename是要打開文件的文件名指針,一般用雙引號括起來的文件名表示,也可使用雙反斜杠隔開的路徑名。而*type參數表示了對打開文件的操作方式。其可采用的操作方式如下:
方式 含義
r 打開,只讀
w 打開,文件指針指到頭,只寫
a 打開,指向文件尾,在已存在文件中追加
rb 打開一個二進制文件,只讀
wb 打開一個二進制文件,只寫
ab 打開一個二進制文件,進行追加
r+ 以讀/寫方式打開一個已存在的文件
w+ 以讀/寫方式建立一個新的文本文件
a+ 以讀/寫方式打開一個文件文件進行追加
rb+ 以讀/寫方式打開一個二進制文件
wb+ 以讀/寫方式建立一個新的二進制文件
ab+ 以讀/寫方式打開一個二進制文件進行追加
當用fopen(0成功的打開一個文件時,該函數將返回一個FILE指針,如果文件打開失敗,將返回一個NULL指針。如想打開test文件,進行寫:
FILE *fp;
if((fp=fopen(test,w))==NULL)
{
printf(File cannot be opened\n);
exit();
}
else
printf(File opened for writing\n);
……
fclose(fp);
DOS操作系統對同時打開的文件數目是有限制的,缺省值為5,可以通過修改CONFIG.SYS文件改變這個設置。
2.關閉文件函數fclose()
文件操作完成后,必須要用fclose()函數進行關閉,這是因為對打開的文件進行寫入時,若文件緩沖區的空間未被寫入的內容填滿,這些內容不會寫到打開的文件中去而丟失。只有對打開的文件進行關閉操作時,停留在文件緩沖區的內容才能寫到該文件中去,從而使文件完整。再者一旦關閉了文件,該文件對應的FILE結構將被釋放,從而使關閉的文件得到保護,因為這時對該文件的存取操作將不會進行。文件的關閉也意味著釋放了該文件的緩沖區。
int fclose(FILE *stream);
它表示該函數將關閉FILE指針對應的文件,并返回一個整數值。若成功地關閉了文件,則返回一個0值,否則返回一個非0值。常用以下方法進行測試:
if(fclose(fp)!=0)
{
printf(File cannot be closed\n);
exit(1);
}
else
printf(File is now closed\n);
當打開多個文件進行操作,而又要同時關閉時,可采用fcloseall()函數,它將關閉所有在程序中打開的文件。
int fcloseall();
該函數將關閉所有已打開的文件,將各文件緩沖區未裝滿的內容寫到相應的文件中去,接著釋放這些緩沖區,并返回關閉文件的數目。如關閉了4個文件,則當執行:
n=fcloseall();
時,n應為4。
相關推薦:計算機等級考試二級C語言教程匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |