2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第11章文件文件考核知識點(diǎn)●只要求掌握緩沖文件系統(tǒng)(即高級磁盤IO系統(tǒng)),非標(biāo)準(zhǔn)緩沖文件系統(tǒng)(即低磁盤IO系統(tǒng))不要求掌握●文件類型指針(FILE類型指針)●文件的打開與關(guān)閉●文件的讀寫和文件的定位重要考點(diǎn)對常用的文件操作函數(shù)的使用會進(jìn)行文件的讀寫操作了解文件指針的的概念11.1C語言文件的概念1文件的概念在此之前,所有的IO只涉及到鍵盤和顯示器。在運(yùn)行C程序時,我們通過鍵盤輸入數(shù)據(jù)并借助顯示器把程序的運(yùn)算結(jié)果顯示出來。但是,計(jì)算機(jī)作為

2、一種先進(jìn)的數(shù)據(jù)處理工具,它所面對的數(shù)據(jù)信息量十分龐大,僅依賴于鍵盤輸入和顯示器輸出等方式遠(yuǎn)遠(yuǎn)不夠。通常,解決的辦法是將這些數(shù)據(jù)記錄在某些介質(zhì)上,利用這些介質(zhì)的存儲特性,攜帶數(shù)據(jù)或長久地保存數(shù)據(jù)。這種記錄在外部介質(zhì)上數(shù)據(jù)集合稱為“文件”。在程序運(yùn)行之前,常常需要將一些數(shù)據(jù)(運(yùn)行的最終結(jié)果或中間數(shù)據(jù))輸出到磁盤上保存起來,以后需要時再從磁盤中輸入到計(jì)算機(jī)中,這就需要用到磁盤文件。C程序把文件分為II文件和二進(jìn)制文件。II文件又稱為文本文件,

3、本章我們公討論通過C程序的輸入輸出所涉及到的、存儲在外部介質(zhì)上的文件,這類文件通常稱為“數(shù)據(jù)文件”,并以磁盤作為存儲介質(zhì)。在程序中,當(dāng)調(diào)用輸入函數(shù)從外部文件中輸入數(shù)據(jù)賦給程序中的變量時,這種操作稱為“輸入”或“讀”;當(dāng)調(diào)用函數(shù)把程序中的變量的值輸出到外部文件中時,這種操作稱為“輸出”或“寫”。在C語言中,文件夾是一個字節(jié)流或二進(jìn)制流,也就是說,對于輸入輸出的數(shù)據(jù)都按“數(shù)據(jù)流”的形式進(jìn)行處理輸出時,系統(tǒng)不添加任何信息輸入時,逐一講入數(shù)據(jù),

4、直到文件結(jié)束標(biāo)志。C程序中的輸入輸出文件,都以數(shù)據(jù)流的形式存儲在介質(zhì)上。文件的輸入輸出方式也稱為“存取方式”。C語言中,文件有兩種存限方式:順序存取和直接存取。順序存取文件的特點(diǎn)是:每當(dāng)“打開”文件進(jìn)行讀或?qū)懖僮鲿r,總是從文件的開頭開始,從頭到尾順序地讀寫。直接存取文件的特點(diǎn)是:可以通過C語言的庫函數(shù)去指定開始讀(寫)的字節(jié)號,然后直接對此位置上的數(shù)據(jù)進(jìn)行讀(寫)操作。11.2文件類型指針文件指針當(dāng)使用一個文件時,系統(tǒng)就為該文件在內(nèi)存中

5、開辟一個區(qū)域來存放該文件的相關(guān)信息,如該文件的名字、狀態(tài)、位置等,這些信息都被保存到由系統(tǒng)定義的名為FILE的一個結(jié)構(gòu)體類型的變量中??梢杂迷摻Y(jié)構(gòu)體類型來定義文件類型的指針變量,一般形式為:操作用“r”方式時打開的文件必須已經(jīng)存在,以便能向計(jì)算機(jī)輸入數(shù)據(jù)。用“w”方式則新建一個文件,先向此文件寫數(shù)據(jù),然后可以讀此文件中的數(shù)據(jù)。用“a”方式打開文件時,原來的文件不被刪除,只是在文件尾部添加新的數(shù)據(jù)。⑸“wb”功能與“w”相同,只是在隨后的

6、讀和寫時,可以由位置函數(shù)設(shè)置讀和寫的起始位置。⑹“ab”功能與“a”相同,只是在文件尾部添加新的數(shù)據(jù)之后,可以由位置函數(shù)設(shè)置開始讀的起始位置。11.4文件的讀寫文件打開之后,就可以對它進(jìn)行讀寫了。1fputc()函數(shù)和fgetc()函數(shù)(putc()函數(shù)和getc()函數(shù))fputc()函數(shù):該函數(shù)的功能是把一個字符寫到磁盤文件上去,其一般調(diào)用形式為:fputc(cfp)其中c是要輸出的字符,fp是文件指針。fgetc()函數(shù):該函數(shù)的

7、功甬從指定文件中讀入一個字符,該文件必須是以讀或讀寫方式打開的,其一般調(diào)用形式為:c=fgetc(fp)fp為文件類型指針變量,fgetc()函數(shù)返加一個字符賦給c2fread()函數(shù)和fwrite()函數(shù)當(dāng)要求一次性讀寫一組數(shù)據(jù)時,例如,一個實(shí)數(shù)或一個結(jié)構(gòu)體變量的值,就可以使用fread()函數(shù)和fwrite()函數(shù),它們的一般調(diào)用形式為:fread(buffersizecountfp)fwrite(buffersizefp)其中,b

8、uffer代表的是一個指針變量;size代表的是要讀寫的字節(jié)數(shù);count用來指定每讀寫一次,輸入或輸出數(shù)據(jù)塊的個數(shù)(每個數(shù)據(jù)塊具有size個字節(jié));fp是文件類型指針。3fscanf()函數(shù)和fprintf()函數(shù)fscanf()函數(shù)和fprintf()函數(shù)都是格式化的讀寫函數(shù),與scanf()函數(shù)和printf()函數(shù)作用相似,但fscanf()函數(shù)和fprintf()函數(shù)讀寫對象是磁盤上的數(shù)據(jù)。它們的一般形式如下:fscanf(文

9、件指針,格式字符串,輸入列表);fprintf(文件指針,格式字符串,輸出列表);4fgets()函數(shù)fgets()函數(shù)用來從文件中讀入字符串,調(diào)用形式如下:fgets(strnfp)其中str是存放字符串的起始地址,n是一個整型變量,fp是文件指針。該函數(shù)的功能是從fp指向的文件中讀入n1個字符放入以str為起始的地址單元內(nèi)的。如果在讀完n1個字符之前讀到換行符或EOF,則結(jié)束本次操作。5fputs()函數(shù)fputs()函數(shù)是用來把字

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論