




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、LOGOLOGO掌握文件定位函數(shù)rewind、fseek、ftell函數(shù)Teacher teaching designCONTENTS 目 錄文件定位函數(shù)文件檢測(cè)函數(shù)案例分析仿真演練文件定位函數(shù)移動(dòng)文件內(nèi)部位置指針的函數(shù)主要有兩個(gè)即 rewind 函數(shù)和fseek函數(shù)PART 01把文件內(nèi)部的位置指針移到文件首。并清除文件結(jié)束標(biāo)志和出錯(cuò)標(biāo)志功能int rewind(FILE *fp);或int rewind(文件指針);調(diào)用形式如果函數(shù)調(diào)用成功返回0,否則返回非0值。返回值rewind函數(shù)int fseek(文件指針,位移量,起始點(diǎn));或int fseek(FILE *fp,long offs
2、et,int fromwhere);調(diào)用形式功能用來移動(dòng)文件內(nèi)部位置指針fseek函數(shù)表示從何處開始計(jì)算位移量,規(guī)定的起始點(diǎn)有三種:文件首,當(dāng)前位置和文件尾。“起始點(diǎn)”指向被移動(dòng)的文件。“文件指針”表示移動(dòng)的字節(jié)數(shù),要求位移量是long型數(shù)據(jù),以便在文件長度大于64KB 時(shí)不會(huì)出錯(cuò)。當(dāng)用常量表示位移量時(shí),要求加后綴“L”。“位移量”fseek函數(shù)例如:fseek(fp,100L,0);其意義是把位置指針移到離文件首100個(gè)字節(jié)處。起始點(diǎn)fseek函數(shù)fseek函數(shù)一般用于二進(jìn)制文件。在文本文件中由于要進(jìn)行轉(zhuǎn)換,故往往計(jì)算的位置會(huì)出現(xiàn)錯(cuò)誤。返回文件指針的位置,若出錯(cuò)則返回1L。返回值3long
3、ftell(FILE *fp);調(diào)用形式1返回當(dāng)前文件指針的位置。這個(gè)位置是指當(dāng)前文件指針相對(duì)于文件開頭的位移量。功能2ftell函數(shù)#include int main(void) FILE *fp; fp = fopen(test.txt, w+); /*按照格式要求將字符串寫入文件*/ fprintf(fp, This is a test); /*讀出文件指針fp的位置*/ printf(The file pointer is at byte %ldn, ftell(fp); fclose(fp); return 0; 舉例感知ftelll函數(shù)本題中ftell函數(shù)的返回值實(shí)際上就是該文件的
4、長度。在實(shí)際的應(yīng)用中,函數(shù)ftell常用來計(jì)算文件的長度。文件檢測(cè)函數(shù)PART 02判斷文件是否處于文件結(jié)束位置,功能2如文件結(jié)束,則返回值為1,否則為0。返回值3feof(文件指針);調(diào)用格式1文件結(jié)束檢測(cè)函數(shù)ferror(文件指針); 調(diào)用格式檢查文件在用各種輸入輸出函數(shù)進(jìn)行讀寫時(shí)是否出錯(cuò)功能如未出錯(cuò)返回值為0,否則表示有錯(cuò)。返回值讀寫文件出錯(cuò)檢測(cè)函數(shù)用于清除出錯(cuò)標(biāo)志,并使文件結(jié)束標(biāo)志為0功能1它沒有返回值,也未定義任何錯(cuò)誤。可以通過使用它從文件流的錯(cuò)誤狀態(tài)中恢復(fù)clearerr(文件指針); 調(diào)用格式clearerr函數(shù)案例分析 交流提升PART 03main() FILE *fp; c
5、har ch; int i=1; qq=&boy; if(fp=fopen(stu_list,rb)=NULL) printf(Cannot open file strike any key exit!); getch(); exit(1); rewind(fp); fseek(fp,i*sizeof(struct stu),0); fread(qq,sizeof(struct stu),1,fp); printf(nnnametnumber age addrn); printf(%st%5d %7d %sn,qq-name,qq-num,qq-age, qq-addr);主函數(shù)str
6、uct stu char name10; int num,age; char addr15;boy,*qq;在學(xué)生文件stu_list中讀出第二個(gè)學(xué)生的數(shù)據(jù)。案例分析結(jié)構(gòu)體的定義仿真演練體驗(yàn)探索PART 041、以下程序段打開文件后,先利用 fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長度,請(qǐng)?zhí)羁?。FILE *myf; ling f1;myf= _ (“test.t”,“rb”); fseek(myf,0,SEEK_END); f1=ftel(myf);fclose(myf);printf(“%dn”,f1); 仿真演練有以下程序運(yùn)行后的輸出結(jié)果是( )#include main() FILE *fp; int i, k, n; fp=fopen(“data.dat”, “w+”); for(i=1; i6; i+) fprintf(fp,”%d “,i); if(i%3=0) fprintf(fp,”n”); rewind(fp); fscanf(fp, “%d%d”, &k, &a
溫馨提示
- 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年綏化市稅務(wù)系統(tǒng)遴選面試真題附詳解含答案
- 年度安全生產(chǎn)工作總結(jié)10篇
- 2025年山東東營市國有資本投資集團(tuán)有限公司招聘考試筆試試題(含答案)
- 海洋燈塔等助航設(shè)施研究
- 老年護(hù)理院課件
- 老年健康飲食概述課件
- 老師的課件模板
- 2025年安全套市場(chǎng)調(diào)研報(bào)告
- 車輛過戶與汽車安全檢測(cè)服務(wù)合同
- 財(cái)務(wù)數(shù)據(jù)安全保密及災(zāi)難恢復(fù)協(xié)議
- 勞動(dòng)仲裁內(nèi)部培訓(xùn)
- 2025年云南普洱市墨江天下一雙文旅體育集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 機(jī)械原理課程設(shè)計(jì)-沖壓機(jī)構(gòu)及送料機(jī)構(gòu)設(shè)計(jì)說明書
- 品牌中國產(chǎn)業(yè)聯(lián)盟簡介ppt課件
- 肝素鈉生產(chǎn)工藝綜述
- 裝載機(jī)安全培訓(xùn)
- 實(shí)驗(yàn)一機(jī)構(gòu)運(yùn)動(dòng)簡圖繪制與分析
- 人民網(wǎng)刪除稿件(帖文)申請(qǐng)登記表
- 綜采維修鉗工__礦井維修鉗工題庫
- 服裝校服投標(biāo)書模板(精編版)
- (完整版)可研性研究報(bào)告評(píng)審服務(wù)方案
評(píng)論
0/150
提交評(píng)論