版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。c 語言程序設(shè)計(jì)a 課程輔導(dǎo) ( 8)- 第 8 章 文件主要內(nèi)容 :一、文件的概念二、文件的打開和關(guān)閉三、文本文件的訪問操作四、二進(jìn)制文件的訪問操作五、課程總復(fù)習(xí)一、文件的概念文件是計(jì)算機(jī)外部設(shè)備中一個(gè)被命名的信息單位? 標(biāo)準(zhǔn)輸入輸出 ( i/o) 設(shè)備文件 : 如 stdin 和 stdout 分別表示標(biāo)準(zhǔn)輸入設(shè)備鍵盤和標(biāo)準(zhǔn)輸出設(shè)備顯示器。這兩個(gè)文件流標(biāo)識(shí)符在stdio.h系統(tǒng)頭文件中有定義,類型為 file*,其中文件類型( file)也在 stdio.h中定義。我們能夠隨時(shí)從stdin中讀出 (即從鍵盤輸入到內(nèi)存)信息 ,也
2、能夠隨時(shí)向stdout中寫入 (從內(nèi)存輸出到文件 )信息。資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。?外存儲(chǔ)設(shè)備中保存的文件:由用戶命名 ,并規(guī)定訪問文件的方式。如只允許向其寫入信息的輸出方式的文件,只允許從已有文件中讀出信息的輸入方式的文件,又允許寫入又允許讀出的輸入和輸出方式的文件等。文件的 3 種基本的訪問方式輸入方式 :從文件讀出數(shù)據(jù)到內(nèi)存變量(數(shù)組 )中保存。輸出方式 :把內(nèi)存變量 (數(shù)組 )的內(nèi)容送入到文件中保存。既輸入又輸出方式:對(duì)于同一個(gè)文件,能夠既進(jìn)行輸入又進(jìn)行輸出。文件名給需要使用的數(shù)據(jù)文件所起的名字,它包括 文件主名 和擴(kuò)展名兩部分。符合命名規(guī)定的任何
3、標(biāo)識(shí)符都能夠作為主名,如可用 gongzi作為工資文件的主名。擴(kuò)展名由 1-3 個(gè)字符所構(gòu)成 ,如可用 txt作為一個(gè)擴(kuò)展名。在一個(gè)文件名中能夠省略擴(kuò)展名。若帶有擴(kuò)展名,則用句點(diǎn)與主名分開。如works.ran 、 工資 .bin等。文件類型和文件流在 c語言系統(tǒng)中 ,系統(tǒng)預(yù)定義了一種文件類型,文件類型標(biāo)識(shí)符資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。為 file, 當(dāng)需要使用一個(gè)數(shù)據(jù)文件時(shí) , 必須根據(jù)該文件名和訪問方式返回一個(gè)具有 file 類型的指針值 , 接著把這個(gè)值保存到具有file* 類型的指針變量中,以后就用這個(gè)指針變量(文件流 ) 代替所對(duì)應(yīng)的文件 ,完成對(duì)文
4、件的操作。我們前面提到的stdin和 stdout分別是系統(tǒng)定義的標(biāo)準(zhǔn)輸入和輸出文件流。文件結(jié)束符 (eof)在每個(gè)數(shù)據(jù)文件的結(jié)尾都利用一個(gè)字節(jié)保存一個(gè)文件結(jié)束標(biāo)記( -1) ,在 stdio.h中, 把 -1 定義為符號(hào)常量eof。文件長(zhǎng)度文件中保存數(shù)據(jù)所占有的存儲(chǔ)字節(jié)數(shù)。當(dāng)一個(gè)文件用來保存記錄結(jié)構(gòu)的數(shù)據(jù)時(shí) ,有時(shí)也把保存的記錄個(gè)數(shù)稱為文件長(zhǎng)度,此時(shí)的文件字節(jié)長(zhǎng)度等于記錄個(gè)數(shù)乘以記錄結(jié)構(gòu)類型的長(zhǎng)度。數(shù)據(jù)文件分類c 語句文件按存儲(chǔ)信息方式的不同可分為字符文件 和字節(jié)文件 兩種。字符文件又稱 文本文件 或 ascii 碼文件。字節(jié)文件又稱 二進(jìn)制文件或內(nèi)部格式 文件。字符文件 :文件中保存的字符
5、串信息和數(shù)值信息都采用字符的資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。ascii 碼的形式。當(dāng)然對(duì)于漢字信息采用2 字節(jié)的漢字區(qū)位碼。如保存常數(shù) 23 時(shí),對(duì)應(yīng)保存的ascii 碼為 50 和 51。字節(jié)文件 :文件中保存的字符串信息仍采用字符的ascii 碼的形式,而保存的數(shù)值信息則采用其內(nèi)部格式。如保存常數(shù)23 時(shí),因?yàn)樗且粋€(gè) int類型的常數(shù) ,須占用 4 個(gè)字節(jié) ,對(duì)應(yīng)保存的二進(jìn)制數(shù)為00010111,前面還有3 個(gè)字節(jié)的24 個(gè) 0。文件操作函數(shù)包括打開文件、關(guān)閉文件、讀取數(shù)據(jù)、寫入數(shù)據(jù)、移動(dòng)文件指針位置等 ,它們的函數(shù)原型都保存在系統(tǒng)頭文件stdio.h中,調(diào)
6、用這些函數(shù)時(shí)必須經(jīng)過#include命令包含此頭文件。二、文件的打開和關(guān)閉1. 打開數(shù)據(jù)文件要訪問一個(gè)文件,首先要按照一定的方式打開一個(gè)文件,并使之與一個(gè)文件流相聯(lián)系,然后才能進(jìn)行存取數(shù)據(jù)的操作。當(dāng)對(duì)一個(gè)文件的處理操作結(jié)束后,就把它關(guān)閉掉。打開一個(gè)文件 ,需要調(diào)用 c 函數(shù)庫中的fopen() 函數(shù) ,得到相對(duì)資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。應(yīng)的文件流。該函數(shù)的原型為:file* fopen(const char* fname, const char* mode);fname 參數(shù) :用于指向要打開文件的文件名字符串,該字符串內(nèi)能夠帶有盤符和路徑名,若省略盤符和路
7、徑名則隱含為當(dāng)前盤和當(dāng)前路徑 ,即保存當(dāng)前程序文件的磁盤和路徑,mode 參數(shù) :用于指定打開文件的方式,它也是以字符串的形式給出的 , mode 是指向該字符串的指針。如果調(diào)用該函數(shù)成功,則返回一個(gè)文件 指針 ,即文件名為fname、 打開方式的mode所對(duì)應(yīng)的文件流,以后就利用它操作文件。如果調(diào)用該函數(shù)失敗,則返回 空指針 (null),表明沒有打開指定的文件 ,不能進(jìn)行訪問操作。2. 打開數(shù)據(jù)文件的方式打開數(shù)據(jù)文件的方式有以下用字符串表示的12 中不同方式 :r/打開一個(gè)用于輸入的文本文件,若文件不存在則打開失敗w/打開一個(gè)用于輸出的文本文件,存在清空 ,不存在則建立資料內(nèi)容僅供您學(xué)習(xí)參
8、考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。a/打開一個(gè)用于向尾部追加輸出的文本文件,不存在則建立rb/打開一個(gè)用于輸入的二進(jìn)制文件,若文件不存在則打開失敗wb/打開一個(gè)用于輸出的二進(jìn)制文件,存在清空 ,不存在則建立ab/打開一個(gè)用于向尾部追加輸出的二進(jìn)制文件,不存在則建立r+/打開一個(gè)用于讀/ 寫操作的文本文件,不存在則打開失敗w+/打開一個(gè)用于讀/ 寫操作的文本文件,不存在則建立a+/打開一個(gè)用于讀/ 追加寫操作的文本文件,不存在則建立rb+/打開一個(gè)用于讀/ 寫操作的二進(jìn)制文件,不存在則打開失敗wb+/打開一個(gè)用于讀/ 寫操作的二進(jìn)制文件,不存在則建立資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。ab+/打開一個(gè)用于讀/ 追加寫操作的二進(jìn)制文件,不存在則建立總之 : r(read)為讀、 w(write)為寫、 b(binary)為二進(jìn)制、+為讀 / 寫3. 打開數(shù)據(jù)文件舉例(1) file* fp1;/定義一個(gè)文件指針變量fp1fp1=fopen(xxk1.dat, w); /以只寫方式打開當(dāng)前路徑和目錄中/的本文文件xxk1.dat,返
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育領(lǐng)域的科技創(chuàng)新在線小學(xué)數(shù)學(xué)輔導(dǎo)策略研究
- 科技賦能企業(yè)安全生產(chǎn)管理新模式探索
- 營(yíng)養(yǎng)午餐計(jì)劃與校園文化的構(gòu)建
- 教育環(huán)境中加強(qiáng)學(xué)生防疫知識(shí)教育的措施與方法探討
- 教育展館的互動(dòng)式學(xué)習(xí)空間設(shè)計(jì)
- 2025年漳州衛(wèi)生職業(yè)學(xué)院高職單招高職單招英語2016-2024歷年頻考點(diǎn)試題含答案解析
- 小學(xué)數(shù)學(xué)課堂互動(dòng)與孩子溝通技巧
- 語文課中識(shí)字的趣味教學(xué)方法
- 科技教育下的學(xué)生綜合評(píng)價(jià)體系革新
- 提升客戶服務(wù)質(zhì)量的提問技巧培訓(xùn)
- 九年級(jí)上冊(cè)-備戰(zhàn)2024年中考?xì)v史總復(fù)習(xí)核心考點(diǎn)與重難點(diǎn)練習(xí)(統(tǒng)部編版)
- 健康指南如何正確護(hù)理蠶豆病學(xué)會(huì)這些技巧保持身體健康
- 老客戶的開發(fā)與技巧課件
- 2024建設(shè)工程人工材料設(shè)備機(jī)械數(shù)據(jù)分類和編碼規(guī)范
- 26個(gè)英文字母書寫(手寫體)Word版
- GB/T 13813-2023煤礦用金屬材料摩擦火花安全性試驗(yàn)方法和判定規(guī)則
- DB31 SW-Z 017-2021 上海市排水檢測(cè)井圖集
- 日語專八分類詞匯
- GB/T 707-1988熱軋槽鋼尺寸、外形、重量及允許偏差
- GB/T 33084-2016大型合金結(jié)構(gòu)鋼鍛件技術(shù)條件
- 高考英語課外積累:Hello,China《你好中國(guó)》1-20詞塊摘錄課件
評(píng)論
0/150
提交評(píng)論