版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第十章文件本章學(xué)習(xí)重點(diǎn):文件的基本概念文件的打開、關(guān)閉文件的讀寫文件的定位、文件的檢測本章目錄第二十五講文件概述、文件打開與關(guān)閉第二十六講文件讀寫第二十七講文件的定位和文件的檢測本章小結(jié)結(jié)束第二十五講
文件概述、文件打開與關(guān)閉【思考題10-1】
如果我們需要將程序運(yùn)行結(jié)果存放到外存時(shí),應(yīng)該用什么方法存儲(chǔ)呢?應(yīng)該怎樣讀入數(shù)據(jù)或存儲(chǔ)數(shù)據(jù)呢?(一)程序分析我們?nèi)绻獙⒁粋€(gè)字符串"ThisisaCprogram."存放到一個(gè)文件中,應(yīng)該怎么設(shè)計(jì)程序呢?請(qǐng)看下例。返回到本章目錄(二)編寫程序代碼#include<stdio.h>main(){FILE*fp;fp=fopen("file1.txt","w");fprintf(fp,"ThisisaCprogram.");fclose(fp);}返回到本章目錄(三)調(diào)試運(yùn)行程序在這個(gè)程序中,建立了一個(gè)名為"file1.txt"的文件,并將字符串"ThisisaCprogram."通過fprintf函數(shù)輸出到文件中保存起來。同理,也可以用fscanf函數(shù)從文件"file1.txt"中輸入該內(nèi)容。該程序在屏幕上沒有輸出信息。返回到本章目錄文
件在程序運(yùn)行時(shí),程序本身和數(shù)據(jù)一般都存放在內(nèi)存中。當(dāng)程序運(yùn)行結(jié)束后,存放在內(nèi)存中的數(shù)據(jù)被釋放。如果需要長期保存程序運(yùn)行所需的原始數(shù)據(jù),或程序運(yùn)行產(chǎn)生的結(jié)果,就必須以文件形式存儲(chǔ)到外部存儲(chǔ)介質(zhì)上。
1.文件與文件名
文件是指存放在外部存儲(chǔ)介質(zhì)上的數(shù)據(jù)集合。為標(biāo)識(shí)一個(gè)文件,每個(gè)文件都必須有一個(gè)文件名,其一般結(jié)構(gòu)為:主文件名[.擴(kuò)展名]
操作系統(tǒng)通過文件名和數(shù)據(jù)發(fā)生聯(lián)系,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)的管理。
2.文件分類可以從不同的角度對(duì)文件進(jìn)行分類:(1)根據(jù)文件的內(nèi)容,可分為程序文件和數(shù)據(jù)文件,程序文件又可分為源文件、目標(biāo)文件和可執(zhí)行文件。(2)根據(jù)文件的組織形式,可分為順序存取文件和隨機(jī)存取文件。一 C文件概述(3)根據(jù)文件的存儲(chǔ)形式,可分為ASCII碼文件和二進(jìn)制文件。
ASCII碼文件的每1個(gè)字節(jié)存儲(chǔ)1個(gè)字符,因而便于對(duì)字符進(jìn)行逐個(gè)處理。但一般占用存儲(chǔ)空間較多,而且要花費(fèi)轉(zhuǎn)換時(shí)間(二進(jìn)制與ASCII碼之間的轉(zhuǎn)換)。二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù),原樣輸出到磁盤文件中??梢怨?jié)省存儲(chǔ)空間和轉(zhuǎn)換時(shí)間,但1個(gè)字節(jié)并不對(duì)應(yīng)1個(gè)字符,不能直接輸出字符形式。3.讀文件與寫文件所謂讀文件是指,將磁盤文件中的數(shù)據(jù)傳送到計(jì)算機(jī)內(nèi)存的操作。所謂寫文件是指,從計(jì)算機(jī)內(nèi)存向磁盤文件中傳送數(shù)據(jù)的操作。4.構(gòu)成文件的基本單元與流式文件C語言將文件看作是由一個(gè)一個(gè)的字符(ASCII碼文件)或字節(jié)(二進(jìn)制文件)組成的。將這種文件稱為流式文件。而在其它高級(jí)語言中,組成文件的基本單位是記錄,對(duì)文件操作的基本單位也是記錄。5.文件類型FILE系統(tǒng)給每個(gè)打開的文件都在內(nèi)存中開辟一個(gè)區(qū)域,用于存放文件的有關(guān)信息(如文件名、文件位置等)。這些信息保存在一個(gè)結(jié)構(gòu)類型變量中,該結(jié)構(gòu)類型由系統(tǒng)定義、取名為FILE。注意:結(jié)構(gòu)類型名“FILE”必須大寫。6.ANSIC的緩沖文件系統(tǒng)所謂緩沖文件系統(tǒng)是指,系統(tǒng)自動(dòng)地在內(nèi)存區(qū)為每個(gè)正在使用的文件開辟一個(gè)緩沖區(qū)。從內(nèi)存向磁盤輸出數(shù)據(jù)時(shí),必須首先輸出到緩沖區(qū)中。待緩沖區(qū)裝滿后,再一起輸出到磁盤文件中。從磁盤文件向內(nèi)存讀入數(shù)據(jù)時(shí),則正好相反:首先將一批數(shù)據(jù)讀入到緩沖區(qū)中,再從緩沖區(qū)中將數(shù)據(jù)逐個(gè)送到程序數(shù)據(jù)區(qū)。二 文件指針
在C語言中用一個(gè)指針變量指向一個(gè)文件,這個(gè)指針稱為文件指針。通過文件指針就可對(duì)它所指向的文件進(jìn)行各種操作。定義說明文件指針的一般形式為:
FILE*指針變量標(biāo)識(shí)符; 其中FILE應(yīng)為大寫,它實(shí)際上是由系統(tǒng)定義的一個(gè)結(jié)構(gòu),該結(jié)構(gòu)中含有文件名、文件狀態(tài)和文件當(dāng)前位置等信息。在編寫源程序時(shí)一般不必關(guān)心FILE結(jié)構(gòu)的細(xì)節(jié)。例如:FILE*fp; 表示fp是指向FILE結(jié)構(gòu)的指針變量,通過fp即可找到存放某個(gè)文件信息的結(jié)構(gòu)變量,然后按結(jié)構(gòu)變量提供的信息找到該文件,實(shí)施對(duì)文件的操作。習(xí)慣上也籠統(tǒng)地把fp稱為指向一個(gè)文件的指針。該變量的結(jié)構(gòu)體類型由系統(tǒng)取名為FILE,在頭文件stdio.h中定義如下:typedefstruct{ shortlevel; /*緩沖區(qū)“滿”或“空”的程度*/ unsignedflags; /*文件狀態(tài)標(biāo)志*/ charfd; /*文件描述符*/ unsignedcharhold; /*如無緩沖區(qū)不讀取字符*/ shortbsize; /*緩沖區(qū)大小*/ unsignedchar*buffer; /*數(shù)據(jù)傳輸緩沖區(qū)*/ unsignedchar*curp; /*當(dāng)前激活指針*/ unsignedistemp; /*臨時(shí)文件指示器*/ shorttoken; /*用于合法性校合*/}FILE;在操作文件以前,應(yīng)先定義文件變量指針:FILE*fp1,fp2;按照上面的定義,fp1和fp2均為指向結(jié)構(gòu)體類型的指針變量,可以分別指向一個(gè)可操作的文件。換句話說,一個(gè)文件有一個(gè)文件變量指針,今后對(duì)文件的訪問,就轉(zhuǎn)化為針對(duì)文件變量指針的操作。對(duì)文件進(jìn)行操作之前,必須先打開該文件;使用結(jié)束后,應(yīng)立即關(guān)閉,以免數(shù)據(jù)丟失。C語言規(guī)定了標(biāo)準(zhǔn)輸入輸出函數(shù)庫,用fopen()函數(shù)打開一個(gè)文件,用fclose()函數(shù)關(guān)閉一個(gè)文件。使用以下函數(shù)時(shí),源程序中一定用
#include<stdio.h>一.文件的打開──fopen()函數(shù)
1.調(diào)用形式:
FILE*fp;fp=fopen(文件名,文件的使用方式);2.功能:返回一個(gè)指向指定文件的指針。三 文件的打開與關(guān)閉說明:對(duì)文件進(jìn)行操作,首先必須先打開文件,打開文件使用函數(shù)fopen();FILE用來定義指向文件的指針變量;“文件名”是指要打開(或創(chuàng)建)的文件名,用“\\”。如果使用字符數(shù)組(或字符指針),則不使用雙引號(hào)。fopen將打開的文件的地址賦給文件指針,其與打開的文件建立關(guān)系。以后可以通過fp來完成對(duì)文件的操作。文件的使用方式是指對(duì)文件進(jìn)行讀、寫或追加等操作。具體含義如表10.1所示。如果文件打開失敗則返回空指針:即fp==NULL;FILE*fp;fp=fopen("c:\\user\\abc.txt","w");P255一、2表10-1fopen函數(shù)中的文件使用方式文件使用方式含
義說
明"r"(只讀)打開文本文件,只讀如果指定文件不存在,則出錯(cuò)"w"(只寫)打開文本文件,只寫新建一個(gè)文件,如果指定文件已存在,則刪除它,再新建"a"(追加)打開文本文件,追加如果指定文件不存在,則創(chuàng)建該文件"rb"(只讀)打開二進(jìn)制文件,只讀如果指定文件不存在,則出錯(cuò)"wb"(只寫)打開二進(jìn)制文件,只寫新建一個(gè)文件,如果指定文件已存在,則刪除它,再新建"ab"(追加)打開二進(jìn)制文件,追加如果指定文件不存在,則創(chuàng)建該文件"r+"(讀寫)打開文本文件,讀、寫如果指定文件不存在,則出錯(cuò)"w+"(讀寫)打開文本文件,讀、寫新建一個(gè)文件,如果指定文件已存在,則刪除它,再新建"a+"(讀追加)打開文本文件,讀、追加如果指定文件不存在,則創(chuàng)建該文件"rb+"(讀寫)打開二進(jìn)制文件,讀、寫如果指定文件不存在,則出錯(cuò)"wb+"(讀寫)打開二進(jìn)制文件,讀、寫新建一個(gè)文件,如果指定文件已存在,則刪除它,再新建"ab+"(讀追加)打開二進(jìn)制文件,讀、追加如果指定文件不存在,則創(chuàng)建該文件返回到本章目錄P255一、3、9二文件托的關(guān)獲閉─滔─fc置ol懂se()函數(shù)“關(guān)躁閉”肚就是粒斷開助文件以指針數(shù)與文怠件之維間的津關(guān)系歇,也液就禁枕止再袋對(duì)該啦文件槳進(jìn)行丑操作膚。此繼后不延能在抹通過琴該指使針對(duì)清其相談連的挪文件蟲進(jìn)行奸讀寫釀操作鞏,除療非再抄次打謙開,宗使該華指針泥變量蔽重新肺指向北該文臂件。在使坐用完刑一個(gè)棵文件昏后應(yīng)武該關(guān)辛閉它北,以銳防止亭它再或被誤橡用。fc垮lo貿(mào)se函數(shù)戒調(diào)用咽的一暈般形悄式為英:fc界lo畝se(文件扁指針)例如慈:fc籌lo派se殃(f公p);說明抹:若正夠常關(guān)遼閉,傷則該偽函數(shù)哪返回0;若晶關(guān)閉扣文件醉有錯(cuò)巖誤,罵則該澆函數(shù)號(hào)返回孝一個(gè)默非0的數(shù)(E孔OF旗)。P2勿55一、4#i探nc以lu仗de析<st濃di困o.郵h>ma倍in巖(){F質(zhì)IL磁E沾*fp;ch但ar萌f斷na拋me嘗[2充0]刻;pr浙in蠶tf尊("棟\nin納pu翻t狐th愧e請(qǐng)fi閥le歷's悔n蝦am尺e-饞>"嘩);sc脅an梨f(得"%和s"追,f雪na幻玉me);fp=fo直pe窯n(蹄fn撐am駕e,模"r+"鹿);……惡.……fc吵lo煮se羅(f動(dòng)p);墳}左面貿(mào)的代異碼是并以讀鬼寫的天方式胃打開赴一個(gè)著指定埋的文罵本文通件,鋒經(jīng)過覆有關(guān)碗的操紐奉作后仆,關(guān)纏閉被戀打開默的文夸件。練一冤練【練禾習(xí)10麗-1】以只渴讀的高方式揪打開D盤的"d課:\業(yè)ab志c.瘦tx鏈t"文件下,語生句應(yīng)渠該怎陜么寫枕?解:合打開絨文件既函數(shù)物為fo倒pe鬼n,第椒一個(gè)乳參數(shù)盤為文素件名剛;第怨二個(gè)心為打鋼開文死件的號(hào)方式灘,只祥讀方極式的森模式南為"r全",所渣以語驅(qū)句寫值為:FI少LE蔥*f舍p;fp比=f具op我en亮("鉤d:光\\布ab籍c.念tx嫩t"設(shè),"槐r"接);返回逝到本蠅章目催錄【練納習(xí)10么-2】以讀拴寫的濤方式勞打開D盤的"d洞:\瓣ab受c.駛tx陵t"文件明,語祖句應(yīng)牲該怎覆么寫青?(零注意鴿假設(shè)D盤中童有該占文件費(fèi)和沒菊有該誓文件好的兩埋種情澇況。倆)解:呀打開務(wù)文件雪函數(shù)優(yōu)為fo哪pe起n,第計(jì)一個(gè)匯參數(shù)結(jié)為文網(wǎng)件名歉,文搏件名絡(luò)注意內(nèi)兩側(cè)樸有雙冬括號(hào)祝引上丟,并披將單院個(gè)的晴斜線慌“\”改農(nóng)為雙遮斜線城“\\”即騾可。從第二餐個(gè)為您打開聯(lián)文件句的方太式,軟讀寫濤方式泥的方脈式為"r升+"或"w匆+"。使晨用"r骨+"的情層況是穗在不微刪除辣原有梢文件皺時(shí)(穩(wěn)沒有白該文受件時(shí)撒會(huì)出率錯(cuò))飲;而"w事+"則會(huì)觀刪除滲原有勾文件暗,然胖后新秩建一心個(gè)該腥名的溪文件昌。所朝以語鄙句寫眉為:FI項(xiàng)LE精*f蝦p;fp缸=f腦op司en攜("有d:臣\\塑ab悲c.閱tx知t腹",之"r稠+"瀉);帶/*不刪飯除原降有文趣件時(shí)*/或:fp柳=f構(gòu)op孤en順("法d:壯\\街ab場c.海tx恭t嫌",堅(jiān)"w揮+"捐);寄/*刪除搭后新禁建該籮文件*/返回郵到本圾章目慨錄【練習(xí)10中-3剃】在【練習(xí)10偵-1星】中打燈開"d驢:\頂ab購c.歉tx礦t"文件善后,業(yè)如果份想關(guān)重閉該舌文件忙的語病句是換什么泄?解:修關(guān)閉停文件等的函炮數(shù)為fc陶lo漸se,參副數(shù)為繪要關(guān)腳閉的錯(cuò)文件腿指針丑名。燥所以驕語句燥寫為逗:fc喂lo必se殖(f泰p)規(guī);返回牧到本求章目右錄第二守十六罵講文件范讀寫一、fp碑ut干c函數(shù)啄和fg繞et櫻c函數(shù)二、fp桶ut顛s函數(shù)夾和fg撫et狹s函數(shù)三、fw僻ri出te函數(shù)挎和fr帝ea若d函數(shù)四、fp素ri年nt基f函數(shù)翻和fs補(bǔ)ca甲nf函數(shù)練一黎練返回現(xiàn)到本靠章目皺錄一、fp布ut掌c函數(shù)稠和fg貝et黑c函數(shù)【思惱考題10屆-2】若想爸將一蠅些字穿符寫已入一牙個(gè)文稅本文茶件,雪然后壤輸出副到屏份幕上痕,應(yīng)暫該如座何讀娃寫程謊序?(一)程序犧分析設(shè)計(jì)午一個(gè)男程序耀,將字量符A、B、C和EO返F寫入掛文件"c辯:\號(hào)fi綱le匠1.鐘tx涌t"中,蜘然后盾再從蠢文件"c紅:\斧fi棟le狹1.辨tx尺t"中讀垮出所奧有的仿字符主并顯罵示在笑屏幕萬上。返回皆到本乒章目文錄(二)編拆寫程擊序代植碼#i菜nc錘lu廣de墻"馳st輔di待o.庸h"ma幕in祥(){旗c蟻ha牌r取a業(yè)='植A'迅,b散='侵B'襖,c贈(zèng)='鈴C'瞎,f瘡il捷en快am掀e[怨20浙];FI握LE美*f爭p;cl例rs飽cr醬()蹦;愈/*清屏*/pr擱in酒tf協(xié)("揀\n幟Pl妨ea膛se蘆i釋np池ut屆t蘇he盯w綢ri蓄te嶄f思il艘en無am峰e(cuò):洗")扶;sc聯(lián)an錄f(艷"%輪s"秩,f幻玉il辣en向am去e)榆;而/*從鍵分盤讀陪入文返件名*/if獲((豎fp畫=f愚op脹en蘇(f歪il呼en設(shè)am鹽e,始"w道")有)=南=N傻UL看L)喂/*以只脊寫方嗓式打犬開文那件*/{蠻p吉ri給nt覺f(杜"w鳳ri怠te姑c驢an遷no波t價(jià)op脆en曾f甜il鈔e\朗n"泥);ex畫it介(0軍);}fp鏈ut填c(礙a,壤fp扯);何/*將字章符變遷量a的值做存入殊文件泥*/返回肉到本輕章目蘋錄(三)調(diào)試槳運(yùn)行憶程序程序梅運(yùn)行朝時(shí),益用戶惜先輸帶入文廁件路賣徑及盞文件錫名"c狼:\統(tǒng)fi守le殼1.躬tx咽t",程軌序以"w筐"方式偉打開煤文件飛,然弓后由湯函數(shù)fp去ut疲c(奧)依次星將保泡存在企變量a、b、c中的費(fèi)字符需寫到世文件循中,亂最后虧寫入EO滿F并關(guān)歇閉文咬件。傲通過Wi況nd正ow釘s資源純管理搬器可詠以看嫩到文幅件fi畝le甩1.復(fù)tx雖t被建體立,冤其長望度為4字節(jié)謠。然浮后程忍序再港循環(huán)籌從該霞文件漆中輸墾出A、B、C三個(gè)缸字符銅并顯恒示到以屏幕少上,睛當(dāng)遇挎到文括件結(jié)可束標(biāo)伐志時(shí)追循環(huán)批結(jié)束醫(yī)。程序貿(mào)運(yùn)行磁結(jié)果脅如下齒:一旱字符探的讀補(bǔ)寫當(dāng)文崇件按洪指定甘的工車作方跌式打蹄開以吊后,投就可次以執(zhí)貨行對(duì)證文件嚴(yán)的讀岸和寫滲。針錢對(duì)文含件的鴉不同位性質(zhì)貫,文箭本文宋件,可按哈字符歐讀寫欲或按礎(chǔ)字符襯串讀科寫;溝二進(jìn)岔制文殿件,積可進(jìn)毒行成勉塊的授讀寫蹦或格號(hào)式化姜的讀漫寫。1.讀字拆符函簽數(shù)fg臟et棒c()一般員格式漠為:ch=fg甘et噸c(切fp)--萍-從指嗽定文陣件讀頭入一甚個(gè)字拋符。該文寫件應(yīng)澡以只巨讀或?yàn)?zāi)讀寫慶方式宅打開甘。返回婚值:板若輸床入成態(tài)功,駕則返嗎回字盆符,預(yù)否則技返回痕一個(gè)EO肢F。EO落F:在st退di僅o.竭h(yuǎn)中定趣義的區(qū)常量定,表獄示文另件結(jié)乒束#d買ef伏in初e柴EO害F肢(-尿1)一抱字符瓦的讀逐寫2.寫字暈符函繡數(shù)fp薪ut艷c()格式餐:fp段ut吼c(荒ch嗓,f甘p)功能泄:fp租ut起c()陽函數(shù)嶺完成炎將字頑符ch的值映寫入fp所指似向文包件的裂當(dāng)前杯位置搜處,跳然后燦將文底件指隸針后麥移一扇位。說明顛:1.該文含件應(yīng)協(xié)以寫村或讀納寫方緣瑞式打翅開2.疾fp慨ut燥c(膀)函數(shù)摔的返下回值仰是所武寫入袖字符墾的值血,出熔錯(cuò)時(shí)揭返回EO棋F。#i曲nc林lu酷de碰“st旁di刪o.敏h”ma態(tài)in究(){ch降ar狂c塌;FI池LE暢*fp;if蔬((優(yōu)fp=fo款pe賢n(“tt勉.t仍xt”,斤“誼w”降))悉==晨NU懇LL竟){pr綁in臨tf勤(“陳er鞋ro偵r!贈(zèng)\n”)竹:ex熊it儀(0夕);}c=ge際tc希ha牛r()亞;wh鄭il架e(內(nèi)c!=廚‘\靜n’肥){fp廚ut猶c(趙c,灰fp);c=ge廣tc聞ha賢r()上;}fc子lo靠se夸(f俱p);}例2:將休鍵盤恒輸入朗的字導(dǎo)符順愛序存要入磁俘盤文要件tt躬.t咬xt中,烤輸入餡回車侵結(jié)束捐輸入程序律運(yùn)行踏結(jié)果憲是生成成文漂件tt更.t璃xt;#i裙nc定lu適de堆“st綱di萍o(jì).教h”ma侮in矛(){ch愁ar緞c政;FI共LE屑*fp;if困((捏fp=fo澆pe巧n(“tt巾.t蠻xt”,里“訊r”飽))購==窯NU固LL妻){pr鑰in歷tf齡(“讀er效ro齒r!乞\n”)茄:ex踏it擾(0男);}c=fg史et脈c(委fp);wh口il奸e(萌c!=嫁EO慰F){pu挺tc敘ha繞r(伴c);c=fg插e(cuò)t刺c(航fp);}fc塔lo籍se起(f叨p);}例3:從蕩文件tt灑.t害xt中順帝序讀氣取字照符并卡顯示術(shù)出來址。(方法嬸一)#i笑nc埋lu取de誕<st意di悔o.熔h>ma疾in馬(){ch鞋ar衛(wèi)c烏;FI優(yōu)LE臺(tái)*fp;if農(nóng)((微fp=fo劇pe白n(碰"t筋t.猾tx輩t",板"次r"混))袍==藥NU獎(jiǎng)LL吊){pr征in孤tf搶("撿er偏ro盯r!攀\n")泄;ex持it賴(0址);糖}wh花il結(jié)e(陜!fe謹(jǐn)of臺(tái)(f抓p)){c毒=fg費(fèi)et射c(謊fp);pu欣tc育ha悶r(碌c);蟻}fc央lo鳳se絨(f帥p);款}補(bǔ)充托:fe倡of午(f涌p))用來惠判斷撲文件軋是否油結(jié)束無。返顛回1時(shí),趁文件畫結(jié)束秘,返競回0時(shí),做文件耽沒結(jié)宣束。例3:(方法辯二)二割字符催串的經(jīng)讀寫1.讀字波符串查函數(shù)fg賄et茶s()格式怨:fg察et貪s(蠟st裳r,當(dāng)n,銷fp);功能驅(qū):從fp指向訴的文諷件中能讀一親個(gè)字熊符串怠(最雄多n-領(lǐng)1個(gè)字酒符)仍,放賢入由st各r指向純的字哥符數(shù)很組中梢。說明梁:1.讀取夕失敗拍返回NU改LL。2.若遇換到字風(fēng)符串摔結(jié)束只標(biāo)志神則結(jié)雕束(督即使到不夠n-個(gè)1個(gè))友。2.寫字暢符串長函數(shù)fp石ut劍s()格式命:fp遍ut蝕s(壓st秧r,fp);功能秤:將st痛r指向潔的字勝符串奧寫到fp指向村的文麻件中很。說明氏:1.催st短r可以炎是字辮符串撿常量日、字事符型燭指針下或字疊符型甘數(shù)組虧名。2.操作光成功主時(shí),層函數(shù)將返回0值,袖失敗含返回趴非0值。P2拾56一、7例4向磁嚼盤文蒼本文他件te佛st貸.t咳xt寫入皆字符耐串。#i港nc撇lu乓de<st呀di嬸o.爹h>#i逐nc逗lu區(qū)de<st全ri岡ng裂.h>vo誼id己m艙ai顛n(獵){匠FI擾LE握*fp;ch駁ar斤s磚tr造[1炒28熔];if航(毫(fp=fo知pe粱n(悉"t陡es德t.螞tx扎t"巧,"據(jù)w")裝)=港=N舅UL皆L)踏/偵*打開局只寫兄的文究本文疲件*/{pr獎(jiǎng)in走tf塑("植ca樸nn更otop竄en暖f啟il滑e!仆")府;ex巖it拍(0食);}wh挨il棋e(cuò)(嫁(s也tr蘇le惡n(罵ge姻ts惑(s骨tr))符)!船=0副)師/*若串萄長度木為零貝,則量結(jié)束含*/{fp冶ut竄s(懲st們r(jià),健fp);惑/甲*寫入跨串*/fp后ut丈s(商"\墾n"辛,f瓣p);殊/在*寫入梳回車記符*/}fc濕lo訂se億(f即p);石/鋤*關(guān)閉似文件爽*/}例5:從摟一個(gè)愈文本綱文件te蹤蝶st膊1.鬼tx杜t中讀淡出字瘦符串爺,再參寫入穩(wěn)另一賄個(gè)文胃件te攏st傻2.圾tx骨t。#i氧nc絹lu侄de晨<st暮di徐o.薦h>#i憲nc冷lu掙de召<st么ri速ng務(wù).h>vo鏡id望m座ai衣n(松){缸FI灣LE傅*抖fp袋1,興*f卻p2攪;ch體ar少s等tr胡[1博28售];if很(桃(f耀p1姨=f訊op送en漁("季te及st哲1.估tx朗t"享,"威r"遷))潑==者NU祥LL棟)窩/肢*以只柳讀方滋式打襲開文犬件1種*/{pr相in甲tf奮("鹿ca腦nn哲otop納en雀f駝il就e\頑n"耗);ex停it歌(0彩);}if麗((庫fp草2=染fo波pe史n(擠"t待es林t2穗.t索xt椅",野"w竄")賢)=捧=N鎮(zhèn)UL記L)暗/寶*以只摟寫方榮式打絨開文恒件2可*/{pr美in樂tf巴("慎ca廚nn勒otop罩en禿f柿il信e\咽n"繼);ex綠it金(0使);}wh惱il質(zhì)e蹦((勾st怨rl帖en蛛(f扇ge合ts鏈(s糾tr盟,1失28糠,f栽p1各))身)>采0)齒/*從文許件1讀字湊符串針*/{昨fp跟ut席s(紐奉st敲r,嘴fp氏2瓦);陣/購*將字相符串梳寫入炎文件2溜*/pr懼in蔽tf我("峽%s郊",高st永r);則/焦*在屏我幕顯席示*/}fc硬lo膛se茶(f未p1愿);fc典lo遼se刑(f終p2壤);}1.挺fr罪ea料d函數(shù)用來襪讀取抬一個(gè)狗數(shù)據(jù)搖塊2.殲fw劫ri窄te函數(shù)用來裂寫入見一個(gè)普數(shù)據(jù)卡塊它們尼的一謹(jǐn)般調(diào)句用形聲式為遺:fr享ea根d(bu懲ff游er嫁,習(xí)s余iz燥e箭,采co脈un回t竹,fp)fw么ri且te(bu宏ff縮慧er期,曬s久iz丙e席,善co輕un容t銜,fp)其中問,bu智ff輪er是一伴個(gè)指搭針,筑對(duì)fr叫ea苗d來說定,它值是讀京入數(shù)據(jù)少的存忠放地客址;蛇對(duì)fw管ri倡te來說攜,它訂是要稿輸出蛙數(shù)據(jù)的地奶址(矩以上配指的葡是起勞始地段址)si餓ze:要讀店寫的舅字節(jié)孝數(shù)co刻un囑t:要進(jìn)奪行讀慮寫多止少個(gè)si待ze字節(jié)眼的數(shù)鄭據(jù)項(xiàng)fp:文件送類型動(dòng)指針fr蝦ea串d()和fw偉ri敲te()函數(shù)直,一般服用于航二進(jìn)微制文鞠件的籠處理厭。三王文件云的讀幸寫P1轟55一、5例6:向磁柔盤成板塊寫滋入數(shù)新?lián)嵩購淖ピ撐母杓x源出顯側(cè)示到觀屏幕盯。#i痕nc叔lu凱de貸"st薦di和o.女h"#i染nc右lu劫de證"st命dl疫ib羨.h"vo朝id銀m欣ai嚇n(船){戴FI王LE輕*皆fp島1;in夢(mèng)ti;st夕ru構(gòu)ctst玻u{歐/柄*定義升結(jié)構(gòu)屋體*/ch膠ar客n烈am鍬e[賀15粒];ch楚ar怕n趟um陽[6攤];fl武oa傅t也sc柳or鏟e[跑2]脾;}s輕tu躲de衣nt喉[2神];if桂((王fp醒1=fo初pe躁n(峰"t挎es陡t.撈tx活t"耀,"療wb")共)=昂=N秋UL諒L)拌/零*以二聾進(jìn)制鬧只寫密方式速打開引文件巡壽*/{pr互in途tf逼("銅ca疑nn璃otop襲en籠f旅il略e"份);ex齡it認(rèn)(0考);}pr減in茄tf扇(“插in熊pu矩tda洞ta沫:\某n”再);fo腔r(摩i奧=0搭;i則<2屈;i秘++生){s脖ca凡nf貌("某%s幼%s給%f杠%f周",醉st塌ud聲en汗t.遵na爸me糕,s湖tu斤de評(píng)nt仗.n妄um罷,&熱st喜ud殘en倚t.舉sc教or術(shù)e[搏0]寇,莖&s等tu驢de丑nt屈.s怖co授re疼[1童])爛;漁/*輸入鞠一記醉錄*/fw舊ri麻te敘(&腹st撈ud你en抱t,錦si曠ze鞭of繞(s湊tu濫de鼻nt肥),寬1,舅fp踢1)培;府/*成塊摸寫入皺文件勇*/}fc祝lo破se屯(f醋p1鵝);if儲(chǔ)((丟fp民1=fo盲pe界n(將"t氏es厭t.眉tx繭t"匪,"確rb")惕)=閥=N珍UL牙L)判/光*重新身以二紐奉進(jìn)制擺只讀上打開射文件劣*/{pr喪in舌tf文("逮ca掌nn暮otop普en鄰f凳il莊e"鐵);ex擁it公(0心);}pr普in砍tf犯("給ou搜tp擴(kuò)utfr建om輔f且il腫e:山\n爺")刊;fo爪r斃(i稀=0續(xù);i仙<2柜;i含++偏){擾fr染ea客d(貞&s娛tu禿de員nt冰,s從iz貝eo裂f(盡st泊ud醒en姥t)腦,1緊,f蘿p1摸);友/旨*從文勸件成扛塊讀吳*/pr顛in印tf宿("殿%s也%s政%7撿.2休f%憂7.懇2f慢\n車",蹈st嗽u(píng)d聯(lián)en淡t.再na烤me擾,s跪tu辱de序nt登.n偏um傭,心st肢ud幕en看t.旦sc抽or騎e[本0]倦,s摔tu熟de釣nt柜.s守co胸re昂[1撓])賴;/*顯示星到屏旬幕*/}fc材lo巾se路(f質(zhì)p1頸);}對(duì)文靠件進(jìn)粥行格姓式化霸讀/罵寫─及─fs臨ca用nf()和fp隊(duì)ri拿nt輸f()函數(shù)與sc遠(yuǎn)an盡f()和pr祥in叔tf()函數(shù)臘的功種能相雹似,喂區(qū)別竭在于擴(kuò):fs涌ca夠nf()和fp花ri岡nt筒f()函數(shù)袍的操宜作對(duì)綠象是鹽指定賭文件土,而sc妥an偏f()和pr謝in刃tf()函數(shù)墓的操載作對(duì)捷象是謙標(biāo)準(zhǔn)算輸入爆(st凡di桂n)輸出凳(st算do林ut)文件嗽。in抹tfs納ca魔nf(文件獎(jiǎng)指針另,"格式玻符",輸止入變索量首歸地址穩(wěn)表);in身tfp態(tài)ri果nt與f(文件桌指針揀,"格式尚符",輸剛出參衛(wèi)量表);例如故,..表..州..in犧ti=華3;仰f雜lo統(tǒng)at迫f趨=9闊.8蝴0;..譽(yù)..屬..fp份ri漆nt牢f(揀fp精,"詳%2窗d,蜻%6季.2逼f"菜,顆i,陜f界);..附..膚..fp先ri基nt已f()函數(shù)爽的作互用是藥,將堤變量i按%2巖d格式巷、變績量f按%6克.2絨f格式捏,波以逗梳號(hào)作挖分隔紙符,雖輸出符到fp所指素向的拉文件舌中:舅□3,努□□割9.標(biāo)80(□珠表示1個(gè)空幸格)童。讀/脖寫函野數(shù)的烈選用跨原則從功摩能角弄度來降說,fr里ea背d()和fw鄉(xiāng)豐ri脅te()函數(shù)者可以逝完成碎文件來的任嫁何數(shù)奶據(jù)讀環(huán)/寫波操作機(jī)。趕但為煮方便戴起見是,依壓下列授原則邁選用耀:1.讀/寫1個(gè)字摩符(探或字爸節(jié))宣數(shù)據(jù)筍時(shí):盤選用fg爛et敏c()和fp巷ut避c()函數(shù)盟。2.讀/寫1個(gè)字存符串籌時(shí):犁選用fg岡et掏s()和fp戴ut貓s()函數(shù)嚷。3.讀/寫1個(gè)(劣或多形個(gè))艷不含援格式源的數(shù)持據(jù)時(shí)邊:選富用fr陪ea稠d()和fw燦ri畜te()函數(shù)間。4.讀/寫1個(gè)(發(fā)或多夸個(gè))帥含格葬式的箏數(shù)據(jù)六時(shí):萍選用fs登ca坦nf()和fp謝ri犧nt晉f()函數(shù)株。文件陡的其眼他讀蜂寫函叉數(shù)(1)判撒斷文非件是越否結(jié)亭束函廳數(shù)fe稿of引(),函阻數(shù)調(diào)嫩用格捧式如睜下:其中亦,fp是文朝件指艦針。虧函數(shù)舟功能棉為判批斷文史件指揭針fp所指刺文件威是否晃結(jié)束憶,如駱果遇尸到文見件結(jié)遍束,思函數(shù)輛返回秘值為1,否后則函枝數(shù)返鑒回值健為0。(2)文點(diǎn)件讀/寫整混數(shù)函糧數(shù),pu陸tw和ge鳥tw。對(duì)頑于大屋多數(shù)C編譯崖系統(tǒng)行來說史,都榆提供盾這兩術(shù)個(gè)函捧數(shù),飲用來現(xiàn)對(duì)磁刪盤讀/寫一壁個(gè)字姨(整乎數(shù))摔。ge語tw函數(shù)拔的調(diào)項(xiàng)用格矛式為凱:fe清of(fp);整型煤變量因名=g編et擴(kuò)w(文件章指針弄名);返回何到本漸章目充錄P2槽56一、8pu橫tw函數(shù)禍的調(diào)遙用格驗(yàn)式為輕:例如伯:pu元tw混(1改0,匠fp紀(jì));作用母是將飲整數(shù)10寫入fp所指好的文婆件,院而語礎(chǔ)句:i=絮ge約tw是(f喉p)預(yù);作用且是從哈文件敬讀一染個(gè)整污數(shù)到會(huì)內(nèi)存臨,賦燭給變于量i。pu冤tw沙(整型催常量,文件訓(xùn)指針皂名);返回挨到本脊章目之錄練一風(fēng)練【練獸習(xí)10年-4】編寫幼一個(gè)緒程序燦:從鑒鍵盤搬輸入財(cái)一個(gè)命字符解串,廁將其證中的徒小寫彎字母滑全部禾轉(zhuǎn)換莊成大恥寫字載母,鼻輸出零到磁鏡盤文六件"c皆:\茅up急pe蒙r.怒tx速t"中保曠存。展輸入賺的字標(biāo)符串溝以"!幕"結(jié)束販。然性后再否將文臉件"c腐:\譽(yù)up今pe決r.露tx艘t"中的刺內(nèi)容閃讀出鴿顯示懼在屏驅(qū)幕上怨。解:具源程色序如鋸下:#i湖nc翻lu爹de飾"s就td倍io匹.h題"ma漲in音(){婆F誕IL攔E墳*庸fp爽;ch雜ar主st村r[亦10俘0]住,f板il朱en通am暗e[失10駐];in迷t熱i押=0叢;返回特到本毀章目勢錄if寒((盟fp畝=f拒op捕en振("諸c:零\\誦up季pe莫r.者tx方t"懲,"幕w"廚))憶==合NU夾LL櫻){府p施ri約nt盆f(華"C塔an榜n校ot糧o傳pe士n擋fi陽le傅\n接")武;ex閑it國(0佛);}pr在in樹tf拴("傷En斬te磚r慘a氏st繳ri灑ng唱:\充n"侍);ge源ts努(s什tr粘);wh狐il裳e(舉st攔r[法i]潑!=幟'!廉'){涌i王f(動(dòng)st竭r[什i]暑>=寸'a陣'&形&s梳t(yī)r些[i孤]<提='竿z'痰)st顏r[曲i]鵝=s泡tr舞[i怠]-燃32肆;fp穗ut探c(柴st旬r[婆i]待,f駝p)簽;i+輸+;}返回夜到本俊章目爺錄fc淋lo濃se慣(f梅p)錫;fp祝=f刮op唇en續(xù)("掛c:掩\u回pp榨er支.t基xt芳",悉"r賭")薦;fg握et現(xiàn)s(義st館r,情st菊rl叢en訴(s倒tr滴)+凳1,淡fp養(yǎng));pr音in忍tf柜("資%s壁\n拿",叔st旬r)廣;fc跡lo括se屠(f決p)層;}程序萌運(yùn)行蘋結(jié)果規(guī)如下嘴:返回算到本慌章目秘錄第二肅十七添講冷文妖件的跪定位震和文甲件的憑檢測一、拍文件且的定拴位函爽數(shù)二、緣瑞文件瘦的檢貞測函傍數(shù)練一怠練返回央到本普章目貨錄文件螞的隨大機(jī)讀只寫文件趟中設(shè)飛有一索個(gè)位確置指比針,桑在創(chuàng)賊建或駐打開宿一個(gè)著只讀晌文件制時(shí),叮文件小的位擋置指歲針總樣是指擠向文束件的碎開始宗;在孫對(duì)文照件進(jìn)澡行添恰加操躺作時(shí)重,文純件的命位置剖指針真總是祖指向圍文件姨的末停尾。對(duì)于缺一個(gè)港文件累,可占以順聲序讀繡寫,鹿也可和以隨粥機(jī)讀糊寫。所謂呼順序扶讀寫著,是咽每讀宜一個(gè)站數(shù)據(jù)更后,冒位置殼指針蠻自動(dòng)紹向后居移動(dòng)培一個(gè)飯位置綁。所謂抵隨機(jī)懼讀寫念,是駁讀寫優(yōu)完一配個(gè)數(shù)漿據(jù)后烏,重活新定兇位位污置指嶺針,僚并在州新位爪置上粉繼續(xù)摸讀寫集。定位約位置廟指針濾可以盯由文著件定戀位或演查找胳函數(shù)殼來實(shí)?,F(xiàn)。一、謹(jǐn)文件絞的定捐位函艇數(shù)【思焰考題10旗-6】如果語想將敞【思晃考題10蓄-4】的籌程序乖生成繪的"c魂:\梅fi繁le醋3.槍tx岡t"文件獻(xiàn)中第轉(zhuǎn)奇數(shù)掛個(gè)學(xué)錦生的駛信息搬輸出手,應(yīng)狠該怎旅樣實(shí)下現(xiàn)?(一延)程喚序分臥析首先谷使用fo伐pe勝n(韻)函數(shù)鄰以二賤進(jìn)制閘只讀"r囑b"的方課式打倒開該冤文件腥,然廊后采掙用重道定位琴函數(shù)六對(duì)文蘇件的森指針桑進(jìn)行妨定位擋,每司次指吧針位各置移戒動(dòng)兩膠個(gè)結(jié)欄構(gòu)體寶大小封,直券到全譜部輸母出為平止。返回魔到本投章目晶錄(二瘋)編動(dòng)寫程托序代爽碼#i筐nc棍lu編de巧"便st錄di漿o.物h"#i導(dǎo)nc刮lu制de暫"孩st他ri置ng憐.h過"st洪ru忠ct土st舒ud廊en淘t肉/*定義青學(xué)生戚結(jié)構(gòu)宜體類淋型*/{假i閱nt搶nu謀m勒/露*定義帝學(xué)號(hào)*/ch榮ar籃na插me前[2雨0]乘;心/*定義掏姓名*/in涂t奔c付hi耗ne碧se臭,m垃at婚h,避en角gl類is莫h;賞/頭*定義肅語文趴,數(shù)遙學(xué),腎英語燙成績*/};ma工in偵(){收F猜IL爹E溜*愧fp匪;in辛t誼i水;ch瞇ar然ch跟,f困il型en滋am棉e[齊30孔];fl評(píng)oa包t仰f敬;st陳ru夕ct紐奉st債ud蘿en洪t述s銹tu拌[3劈燕0]非;邊/*定義坐結(jié)構(gòu)隸體類頑型的秘變量*/返回下到本怕章目甲錄cl儉rs絡(luò)cr避()伙;pr積in醒tf話("舌\n染Pl脆ea晨se絮i腦np思ut騎t慕he委w飛ri寒te后f弟il怕en室am蠅e:舒")寧;sc分an占f(脈"%窮s"阿,f吼il逆en紐奉am鍛e)博;朱/澆*從鍵忍盤讀奪入文置件名*/if帥((移fp靜=f蜜op已en曬(f卷il匪en撇am渠e,青"r譜b"聲))悼==俱NU衰LL角)風(fēng)/棉*以只倉讀方餅式打春開文扯件*/{朝p耀ri鋤nt返f(尤"C波an柜no檔t俗o(hù)p販en弦%蜘s暮fi蘿le裕\n跑",扛fi柔le訂na份me飾);ex除it墾(0勝);}pr刷in菌tf棚("麻\n騾In大fo逃rm荒at伶io燈n捉of嬸t渠he慨st篩ud航en威t礎(chǔ)sc亭or鉆e:教")登;pr增in脫tf捆("態(tài)\n愛n悠um紛be游r帶na內(nèi)me茫ch遠(yuǎn)in睛es趨e濤ma擺th逗e曬ng吹li閣sh英\n扭")軋;返回領(lǐng)到本涂章目桂錄fo拴r(野i=她0;彈i<斑3;壁i+沒=2俗){竹f緩se放ek莊(f闊p,狀i*泛si蒙ze覆of剃(s隔tr辯uc穩(wěn)t高st開ud垮e(cuò)n喬t)于,0呢);擋/霞*對(duì)文子件指喪針重跳定位*/fr蚊ea五d(催&s晝tu道[i困],岸si少ze攪of竟(s識(shí)tr袖uc輕t耳st鐘ud智en濁t(yī))飛,1椒,f恐p)絲式;跟/*讀出其第i個(gè)學(xué)夸生信繩息*/pr皮in頂tf瓣("演\n察%5慨d%倡9s逼%7現(xiàn)d%狹9d歉%7桌d"默,s擠tu燃[i益].周nu藝m,悟st叛u[公i]亡.n康am攝e,裂st遵u[犁i]禮.c膊hi禍ne顧se庭,st炭u[姐i]柿.m棚at批h,坡st腥u[株i]暴.e晴ng依li白sh沒);}fc咱lo臨se頌(f甚p)薦;}返回砌到本燃章目棕錄(三拖)調(diào)漸試運(yùn)脆行程顧序輸入慈要打浪開的伶文件籮名,敗輸入"c亡:\逗fi局le撓3.庫tx奶t",程絲式序顯圣示運(yùn)化行結(jié)宜果如提下:返回說到本土章目身錄1位置熱指針態(tài)復(fù)位斃函數(shù)re代wi首nd膜()調(diào)用鳥格式躍:re紅wi淚nd引(f軌p)該函腿數(shù)將fp所指鴨向的樸文件喇的位壟置指搏針重尾新返農(nóng)回到腸文件笑的開貨頭。返回近值:液無。例7:有棗一個(gè)脖磁盤要文件手,先秩把它謙的內(nèi)輸容顯湯示到鼓屏幕驗(yàn)上,儲(chǔ)再把虎它復(fù)翁制到責(zé)另一錄個(gè)文庸件中葬。#i爺nc習(xí)lu陵de像"st盡di倚o.儉h"vo優(yōu)id凱m禽ai概n(訓(xùn)){弦FI資LE陶*下fp碧1,嘴*f肥p2御;fp境1=嚴(yán)fo榮pe雙n(塔"f鳳il無e1末.c對(duì)",外"r談")峽;fp刷2=躁fo淘pe腐n(婚"f福il好e2葬.c賊",共"w統(tǒng)")冊(cè);wh培il歉e(蔑!f蟲eo棍f(辟fp灰1)鵝)pu綢tc繼ha濃r(服fg悼et芳c(跳fp母1)望);re個(gè)wi迷nd販(f蛙p1產(chǎn));嗓/答*位置涂指針催復(fù)位瘋*/wh叼il棒e(鞠!f香eo嚼f(叨fp究1)卵)fp俊ut鋼c(咸fg或et央c(宣fp右1)映,f仁p2紙);fc挽lo永se芒(f清p1借);fc螞lo摟se燭(f吧p2洲);}P2片56一、62.移動(dòng)仍位置桑指針族函數(shù)fs章ee紫k()始:格式包:fs醫(yī)ee娘k(文件轉(zhuǎn)指針,位移醬量,起始行點(diǎn));作用告:隨躍機(jī)改筍變文表件位論置指案針的宣當(dāng)前記位置。說明曉:1)、致調(diào)用叨成功死返回截值為0,失雨敗返富回非0數(shù)。2)、孕起始本位置尸的表駐示如兄課本P2苗51表10煩.2所示察。3)、位移姨量是懶以起架始點(diǎn)謀為起施點(diǎn),膛向前植或向允后移混動(dòng)的撥字節(jié)物數(shù)。C語言丘要求僵位移雪量為lo錫ng型數(shù)俱據(jù)。例如終:fs筋ee當(dāng)k(卻fp呀,4堆0L季,渡0)透;此/*將位醫(yī)置指褲針從鼠文件冷頭向評(píng)后移琴動(dòng)40個(gè)字跑節(jié)*/fs突ee緩k(時(shí)fp遵,4滋L,考1炒);詞/挺*將位尚置指關(guān)針從住文件億當(dāng)前畜位置餓向后隱移動(dòng)4個(gè)字侵節(jié)*/fs掉ee陽k(牧fp單,-飾20轉(zhuǎn)L,赴2享);唯/膚*將位威置指予針從向文件賴尾向穗前移疑動(dòng)20個(gè)字挎節(jié)*/P2銜56一、11、12例8:在磁幅盤文參件st蟲ud瞇en讀t.收da蒸t中有10個(gè)學(xué)想生記鈔錄,燙將第1、3、5、7、9號(hào)記踐錄取扎出顯慢示到偉屏幕銀上#d襲ef連in常e管N鑰10ty妹pe矛de鮮fst逐ru樸ct{慢ch司ar輪n糾um月[6鞋],甲na足me提[1艘0]瓣,s奇ex蓬;in嗚tag燒e,覽sc嘆or截e;}S豬TU漸;vo肚id室m遍ai茶n(甩){in贏ti;ST著Us[河N];FI愉LE疲*fp;sa拿ve孫st曲u()睛;姑/*調(diào)用追該函尾數(shù),創(chuàng)建床磁盤聲文件棋:st基ud駛en紗t.核da濾t*/if鉛((棗fp=fo妥pe愛n(蔬"s潑tu調(diào)de調(diào)nt弦.d惹at辯",誦"r盈b")仗)=弓=N顏UL圍L){pr映in礙tf昌("鉤Ca俗nn艷otop肺en錫t劉hi駁s經(jīng)fi輪le植!\善n"篩);ex潛it扣(0齒);}fo猴r(繁i=0節(jié);i行<N;真i+=即2){fs播ee坑k(典fp甜,i*s影iz櫻eo聞f(晃ST汗U)貸,0冒);fr記ea夸d(察s+敵i,昏si灰ze聞of遵(S揚(yáng)TU寧),糕1,拐fp言);pr誓in秘tf砍("務(wù)%s途\t把%s尺\(yùn)t膏%c孕\(zhòng)t忠%d邪\t勝%d登\n疏",愧s[賴i]嘴.n則um,s[長i]拌.n度am題e,政s[側(cè)i]棵.s爪ex暴,s結(jié)[i賀].暮ag閱e,妙s[鳳i]競.s宣co漆re);}fc蓋lo地se仁(f貸p);}sa改ve那st曉u(píng)()撐/滿*鍵盤把輸入催學(xué)生艘記錄臂,創(chuàng)具建磁捏盤文旗件:st汁ud掃en達(dá)t.緣瑞da葉t*/{暈ST枕Us[續(xù)N];FI焦LE感*fp;in漠ti;if點(diǎn)((疾fp=fo油pe網(wǎng)n(貪"s王tu針de宇nt貨.d扔at刺",護(hù)"w顧b")健)=具=N妹UL虎L)翼/棄*以二挪進(jìn)制昨只寫膝方式廁打開氏*/{pr倆in損tf睡("送Ca些nn礦otcr乏ea謝te煩t命hi摧s坊fi雁le舊!\營n"在);ex渾it灣(0萍);}pr矩in找tf任("迫In顫pu料t%d敢s漏tu禁de勻nt斷r羞ec每or團(tuán)d:稠N醫(yī)um銜\tN解am奔e\火tS瘡ex剖\t繪Ag宰e\仔tS火co諸re活\n梁",盞N);fo么r(汽i=0逃;i拌<N;屈i++參){sc毛an豬f(腳"%革s%傾s%c%聞d%巷d"飼,s啄[i毫].會(huì)nu丈m,躲s[適i]鉤.n訂am己e,安&s摸[i規(guī)].奶se丘x,&s[服i]隆.a樣ge貸,&風(fēng)s[遭i]添.s母co誕re);fw哀ri絞te塌(s籌+i猛,s仔iz沒eo市f(薄ST柜U)么,1柔,f扣p)厚;}fc急lo意se疤(f網(wǎng)p);}3.檢測累當(dāng)前躺位置充指針攤的位醋置函包數(shù)ft意el非l()調(diào)用思格式扯:ft含el著l(斧fp)功能軟:檢漢測流拼式文吵件中貼當(dāng)前哈位置棄指針值的位沉置距慌離文皆件頭濃有多夢(mèng)少個(gè)伐字節(jié)患的距洋離。返回菜值:糠成功汽則返甲回實(shí)禾際位總移量(長整把型),否內(nèi)則返走回-1L。i=ft距el趨l(環(huán)fp);if風(fēng)(i=-懇1L伏)pr叢in材tf幼("白Er姑ro陳r\爛n")亦;利用倒這個(gè)濫函數(shù)筐,我爐們也果可以趕測試章一個(gè)脅文件星所占淘的字反節(jié)數(shù)亦。如憲:fs跳ee母k(濾fp歉,0吳L,頁2)仍;階/*將文軍件位中置指男針移供到文執(zhí)件末月尾反*/vo果lu命me秧=ft叨el魔l(偏fp);蹄/*測試蓋文件婦尾到侵文件豈頭的魂位移托量咳*/P2酬56一、134.潑fe飛rr睡or沿()函數(shù)在調(diào)添用輸只入輸騙出庫扛函數(shù)據(jù)時(shí),稀如果沸出錯(cuò)投,除標(biāo)了函詢數(shù)返款回值跟有所奸反映博外,紋也可鍬利用fe殼rr它or()函數(shù)詢來檢況測1.用園法:fe抵rr熟or(文件爛指針);2.功判能:貓如果配函數(shù)睬返回扭值為0,表謙示未斑出錯(cuò)外;如蘆果返戲回一趕個(gè)非0值,軍表示船出錯(cuò)打。閱(1)對(duì)搶同一竿文件寧,每宣次調(diào)予用輸獄入輸音出函修數(shù)均眠產(chǎn)生帳一個(gè)獄新的fe插rr蔥or()函數(shù)裁值。倡因此駝在調(diào)界用了引輸入良輸出綁函數(shù)蜜后,桶應(yīng)立翠即檢伶測,收否則臺(tái)出錯(cuò)旺信息恐會(huì)丟僵失。飾(2)在滔執(zhí)行fo倉pe圈n()函數(shù)費(fèi)時(shí),索系統(tǒng)掉將fe戀rr投or()的值述自動(dòng)禍置為0。P2存56一、145.借cl牢ea戶re丑rr鬧()函數(shù)1.用額法:cl奪ea回re叉rr(文件這指針);2.功乖能:漏將文育件錯(cuò)風(fēng)誤標(biāo)辨志(況即fe怪rr扭or()函數(shù)蘭的值聯(lián))和購文件遮結(jié)束慎標(biāo)志修(即fe禍of()函數(shù)濫的值騎)置0。荒對(duì)同俯一文漁件,王只要欄出錯(cuò)秀就一藏直保祖留,夏直至允遇到cl怨ea件re始rr()函數(shù)昌或re油wi劑nd竟()函數(shù)撒,或匆其它怠任何秧一個(gè)兩輸入梢輸出富庫函柄數(shù)。程序傾舉例例9.從文識(shí)件st飼ul板is足t中讀巖出指報(bào)定學(xué)倆號(hào)的飯學(xué)生蛛記錄,顯示警在屏寒幕上菜,提籮示用尊戶是洋否需碎要修濫改,朗若用押戶提艙示修而改則攝由用護(hù)戶輸清入新振內(nèi)容叼并寫開入到膀原文凈件中凝去。軟假定暢學(xué)生鉤記錄螺按學(xué)瀉號(hào)從股小到換大排納序,掃學(xué)生初學(xué)號(hào)幸范圍盒為0—哀50。程序怕代碼需如下糕:#i幣nc獸lu健de果<st盲di掩o.寨h>st多ru躍ctst膏ud袋en要t_漢ty亭pe{理ch侄ar截n勒am策e[截10脅];in終tnu非m;in宮tag周e;fl增oa茂t榮ma喚rk蛛;}st遼u;vo湯id買m停ai孔n(奇){in秀ti;ch述arch;FI膀LE悔*fp;if扔((縫fp=fo筍pe呆n(璃"s沉tu戒li麻st庭",枕"r甚b+"燙))吸==打NU芽LL毒){pr新in汽tf德("愛ca職nn幻玉otop歪en藝f鍋il幫e"很);ex羊it遵(0櫻);}pr溪in哄tf械("倍\n劉pl鮮as乞ein廊pu粘tst待ud害en指t_矛id:"船);sc客an師f(麥“%連d”狠,&聾i);著/*輸入煮被找斷學(xué)生革學(xué)號(hào)柴,待蔽續(xù)*/wh伸il陜e(論i<5堤0別&&椒i遮>=賞0)要/*查找裕該學(xué)萍生記象錄并乞決定亭是否干修改杰*/{fs質(zhì)ee岔k(撓fp猜,i*si廣ze最of圣(s冊(cè)tr風(fēng)uc慌tst球ud異en渣t_桌ty欲pe其),奴0)儲(chǔ);/蜘*移動(dòng)副指針榴*/fr顏ea撕d(擾&s循tu糊,s直iz櫻eo嘆f(鴉st縫ru咸ctst現(xiàn)ud徐en疊t_寸ty用pe垃),議1,鞋fp礙);pr勞in嫁tf謝("縣%1痕0s冒%6庫d%脊6d磚%6壘d"群,s知tu腸.n歷am夠e,分st屬u.暴nu躬m,攻st日u.稈ag及e,傾st晨u.留ma豬rk揭);pr探in扎tf("仆\C鏈ha甚ng攀o抓rno糞t?煎(Y/N哥)礙")阿;fl共us暴ha再ll()辦;福/滔*清空障輸入躁輸出越緩沖特區(qū)*/sc蹈an廁f(寨"%提c"廣,&坊ch);if許(c黑h==幸'Y退'柏||ch==泛'y領(lǐng)')庭/*修改候指定薦的學(xué)暗生記麥錄*/{pr煉in晶tf聲("創(chuàng)\n嗽pl版as辜ein祥pu杏t胞ne術(shù)w諒da鹽ta匯:\蔥n"售);sc抽an怪f(份"%搜s%躁d%王d%腳f"姨,s眠tu奧.n原am予e,閣&s蘇tu雖.n薯um癥,&茅st姨u.騾ag燈e,蟲&st句u.各ma褲rk);fs蘭ee彎k(尖fp敢,i*si朋ze蔽of錦(s演tr喇uc抵tst獲ud比en失t_詠ty絮pe嶼),長0)茅;fr礎(chǔ)ea盜d(膛&s耳tu暈,s繪iz雨eo餡f(撈st鍛ru怒c
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年學(xué)生保險(xiǎn)全保障協(xié)議
- 2025標(biāo)識(shí)標(biāo)牌行業(yè)發(fā)展趨勢分析與預(yù)測合同3篇
- 二零二五版辦公區(qū)域租賃合同(含物業(yè)增值服務(wù))
- 二手住宅交易服務(wù)合同(2024年版)3篇
- 二零二五年度上市公司專項(xiàng)財(cái)務(wù)咨詢與輔導(dǎo)協(xié)議
- 二零二五年度股權(quán)分割協(xié)議書模板
- 2025年度礦業(yè)權(quán)出讓與地質(zhì)安全監(jiān)管合同
- 2025年度車輛借出免責(zé)及車輛使用責(zé)任界定協(xié)議
- 二零二五年度文化藝術(shù)活動(dòng)派遣協(xié)議范本
- 2025年度城市綜合體物業(yè)保安勞務(wù)管理合同
- 小兒甲型流感護(hù)理查房
- 霧化吸入療法合理用藥專家共識(shí)(2024版)解讀
- 2021年全國高考物理真題試卷及解析(全國已卷)
- 拆遷評(píng)估機(jī)構(gòu)選定方案
- 趣味知識(shí)問答100道
- 鋼管豎向承載力表
- 2024年新北師大版八年級(jí)上冊(cè)物理全冊(cè)教學(xué)課件(新版教材)
- 人教版數(shù)學(xué)四年級(jí)下冊(cè)核心素養(yǎng)目標(biāo)全冊(cè)教學(xué)設(shè)計(jì)
- JJG 692-2010無創(chuàng)自動(dòng)測量血壓計(jì)
- 三年級(jí)下冊(cè)口算天天100題(A4打印版)
- CSSD職業(yè)暴露與防護(hù)
評(píng)論
0/150
提交評(píng)論