參數意義
“rt”唯讀打開一個文本檔案,只允許讀數據。
“wt”
只寫打開或建立一個文本檔案,只允許寫數據。
“at”
追加打開一個文本檔案,並在檔案末尾寫數據。
“rb”
唯讀打開一個二進制檔案,只允許讀數據。
“wb”
只寫打開或建立一個二進制檔案,只允許寫數據。
“ab”
追加打開一個二進制檔案,並在檔案末尾寫數據。
“rt+”
讀寫打開一個文本檔案,允許讀和寫。
“wt+”
讀寫打開或建立一個文本檔案,允許讀寫。
“at+”
讀寫打開一個文本檔案,允許讀,或在檔案末追加數據。
“rb+”
讀寫打開一個二進制檔案,允許讀和寫。
“wb+”
讀寫打開或建立一個二進制檔案,允許讀和寫。
“ab+”
讀寫打開一個二進制檔案,允許讀,或在檔案末追加數據。
使用說明
1、檔案使用方式由r,w,a,t,b,+六個字元拼成,各字元的含義是:r(read):讀
w(write):寫
a(append):追加
t(text):文本檔案,可省略不寫
b(banary):二進制檔案
+:讀和寫
2、凡用“r”打開一個檔案時,該檔案必須已經存在,且只能從該檔案讀出。
3、用“w”打開的檔案只能向該檔案寫入。若打開的檔案不存在,則以指定的檔案名稱建立該檔案,若打開的檔案已經存在,則將該檔案刪去,重建一個新檔案。
4、若要向一個已存在的檔案追加新的信息,只能用“a”方式打開檔案。但此時該檔案必須是存在的,否則將會出錯。
5、在打開一個檔案時,如果出錯,fopen將返回一個空指針值NULL。在程式中可以用這一信息來判別是否完成打開檔案的工作,並作相應的處理。
6、if((fp=fopen("c:\\hzk16","rb")==NULL)
printf("\nerroronopenc:\\hzk16file!")
getch
exit(1)
這段程式的意義是,如果返回的指針為空,表示不能打開C糟根目錄下的hzk16檔案,則給出提示信息“erroronopenc:\hzk16file!”,下一行getch()的功能是從鍵盤輸入一個字元,但不在螢幕上顯示。在這裡,該行的作用是等待,只有當用戶從鍵盤敲任一鍵時,程式才繼續執行,因此用戶可利用這個等待時間閱讀出錯提示。敲鍵後執行exit(1)退出程式。
7、把一個文本檔案讀入記憶體時,要將ASCII碼轉換成二進制碼,而把檔案以文本方式寫入磁碟時,也要把二進制碼轉換成ASCII碼,因此文本檔案的讀寫要花費較多的轉換時間。對二進制檔案的讀寫不存在這種轉換。
8、標準輸入檔案(鍵盤),標準輸出檔案(顯示器),標準出錯輸出(出錯信息)是由系統打開的,可直接使用。
延伸閱讀
在眾多的國際互動論壇上,計算機愛好者們以特有的方式紀念這位程式語言的重要奠基人。許多網友的發帖中沒有片言隻字,僅僅留下一個分號“;”。在C語言中,分號標誌著一行指令語句的結束,網友們以此來悼念“C語言之父”,美國著名計算機專家丹尼斯·里奇(DennisRitchie)所引領的時代悄然遠去。
在日益紛繁複雜的程式設計語言王國中,C語言因其簡潔、有效、通用的特性而始終占據一席之地。被譽為“C語言之父”,同時也是作業系統Unix之父的C語言發明人之一——丹尼斯·里奇10月9日以70歲之齡辭世。
生於1941年9月9日的丹尼斯·里奇曾在哈佛大學學習物理學和套用數學,1967年他進入貝爾實驗室,並曾經擔任朗訊技術公司系統軟體研究部門的領導人。
1983年,美國計算機協會將當年的圖靈獎破例頒給了作為軟體工程師的肯·湯普遜與里奇,獲獎原因是他們“研究發展了通用的作業系統理論,尤其是實現了Unix作業系統”。並且,美國計算機協會當年還決定新設立一個獎項——軟體系統獎,以獎勵那些優秀的軟體開發者,首個軟體系統獎當然也是非他們兩人莫屬。
儘管通過Unix拿獎拿到手軟,但令里奇引起最大關注和反響的則是C語言的問世。1999年,里奇和湯普遜為發展C語言和Unix作業系統一起獲得了美國國家技術獎章。
雖然在C語言之後,C++、Java等各式各樣計算機高級語言層出不窮,但不少程式設計師仍舊認為,C語言簡潔、高效、靈活的特性令其具有獨特魅力。“現在的程式編寫朝著越來越冗長龐大的方向發展,而C語言雖然屬於相對‘低級’的程式語言,但它的簡潔之美是無可替代的。”一位電腦程式員道出了自己格外青睞C語言的原因。
和里奇所創造的C語言一樣,Unix系統也同樣具有簡潔、樸素、小巧的特性。但正如里奇自己所說的那樣,“Unix系統是一個簡單基本的作業系統,但學會欣賞簡潔需要天賦。”而里奇本人,儘管在軟體發展史上占有舉足輕重的地位,也同樣在從事的領域辛勤而低調地耕耘近40年。