




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、9文件,解析c程序設(shè)計第2章簡單計程儀程序設(shè)計,2、文件系統(tǒng)、緩沖型文件系統(tǒng):系統(tǒng)自動在存儲器中按每個文件打開緩沖器,作為程序計程儀程序和磁盤文件數(shù)據(jù)交換的中間介質(zhì),每3步用習(xí)語言的程序庫函數(shù)實現(xiàn), 解析c方案設(shè)計第2章簡單方案計程儀方案設(shè)計、3、文件投入產(chǎn)出相關(guān)庫函數(shù)、# include open:fopen (); 讀寫: fgetc (); fputc (); fgets (); fputs (); fread (); fwrite (); fscanf (); fprintf (); 文件位置指針rewind (); fseek (); ftell (); feof (); 關(guān)閉: f
2、close (); 法寶:每個庫函數(shù)都可以在調(diào)用時查詢。 輸入TC:CTRL F1 VC函數(shù)名稱,則會顯示函數(shù)形式的關(guān)殘奧字儀表。 c方案設(shè)計第2章簡單方案計程儀設(shè)計,4,需要解決的問題1 :將學(xué)生信息保存在文件中,從文件轉(zhuǎn)入數(shù)組,# include # definen 30 structstucharname 10; 英數(shù); 英格; 卡爾阿德德爾15; 解析c方案設(shè)計第2章簡單方案計程儀設(shè)計、5、1、輸入學(xué)生信息存儲排列、void main() struct stu boyaN、boybN、*pp、*qq; 文件* FP; 定義指向文件類型的指針fp*/int i的打印數(shù)據(jù)(I=0,PP=博
3、雅; iname,F(xiàn)ILE類型在stdio.h文件中定義。 類型結(jié)構(gòu)輸入級別; 緩沖區(qū)是滿還是空*/unsigned flags; /*文件狀態(tài)標(biāo)志*/char fd; /*文件描述符* /未指定的卡片保持; 沒有緩沖區(qū)不讀字符* /短大小; /*緩沖區(qū)大小* /未指定的char *緩沖區(qū); /*數(shù)據(jù)緩沖區(qū)的位置* /未簽名的char * curp; /*文件定位指針* /未標(biāo)識的is temp; /*用于臨時文件指示器* /短令牌/*有效性檢查* /文件; 解析c計程儀編程第2章簡單計程儀編程,6,2,保存文件(打開文件-保存-關(guān)閉文件),/*首先打開文件*/if(fp=fopen(stu_
4、list.dat,WB ) )=null ) printf (cannen ); exit(1)、文件名(char *文件名、char *類型)示例:文件名是文件名的包含路徑。 如果沒有路徑,則打開當(dāng)前目錄查詢的文件的類型是r、w、rw和a,其中只讀、只讀、讀/寫,附加的“b”表示二進制文件,如果不寫入“b”,則文本文件的返還值是指向該文件的指針存儲在ASCII查詢密碼文件中的格式: 3、0、0、0、0、(5字節(jié))存儲在二進制文件中的格式:30000的補碼(2字節(jié))、11101010 01100000、兩者的特征: ASCII文件浪費了空間和時間, 直觀的二進制文件節(jié)省空間和時間,非直觀的解析
5、c程序設(shè)計第2章簡單計程儀程序設(shè)計,7,2,保存文件(打開文件-保存-關(guān)閉文件),/*保存文件(打印到文件) */for(i=0,pp=boya; 名稱,PP -編號,pp-age,pp-addr; int fprintf(FILE *fp、char *format、arg1、argn )函數(shù):也可以在所有存儲的字符類型中使用fwrite(pp,sizeof(struct stu ),1,fp ) 、unsigned fwrite(void *ptr,unsigned size,unsigned numb,F(xiàn)ILE *fp )函數(shù)功能:將從ptr開始的numb個size大小的數(shù)據(jù)標(biāo)簽搖滾樂寫入
6、fp所指向的文件中,函數(shù)調(diào)用為count的寫字符或字符串時,請使用fputc ()和fputs ()、int fputc(int c,F(xiàn)ILE *fp ); 功能:如果對fp的字母c輸出錯誤則返回EOF,否則返回c例: fputc(a,fp ); /*將文字a寫入fp指向的文件*/,int fputs(char *s,F(xiàn)ILE *fp )的功能:將文字列寫入fp指向的文件成功時為0,錯誤時為EOF例: fputs(“abcde”,fp ); /*將字符串寫入fp指向的文件*/中,c plug計程儀編程第2章簡單計程儀編程,8,2,保存文件(打開文件-保存-關(guān)閉文件),/*最后關(guān)閉文件*/fcl
7、ose(fp ),int fclose(FILE *fp ) 返還值:關(guān)閉成功時的返還值為0。 否則(例如,磁盤空間不足、受寫保護或關(guān)閉封閉的文件)返回EOF或-1。解析c計程儀編程第2章簡單計程儀編程,9,3,從文件讀入數(shù)組(打開文件-讀入數(shù)組-關(guān)閉文件),if(fp=fopen(stu_list.dat,Rb ) )=null ) printf (cannen ); 出(2)個(I=0; 輸出到iname、stdout文件后,輸出到屏幕上。 實際上,來自牛鼻子板的輸入、到屏幕的輸出、錯誤都以文件形式存儲信息。 這三個標(biāo)準(zhǔn)defile分別是stdin、stdout和stderr,從用戶的角度
8、對文件進行分類,分為標(biāo)準(zhǔn)defile和普通磁盤文件。 c方案設(shè)計解析第2章的簡單方案計程儀設(shè)計,10,需要解決的問題2 :復(fù)制文件,輸入兩個文件名,打開兩個文件,將一個文件的內(nèi)容復(fù)制到另一個文件,關(guān)閉兩個文件,c方案計程儀,第2章簡單方案計程儀,1 朝鮮、文件130、文件230; 打印(輸入源文件3360 )掃描(% s,文件1 )/*源文件名* /打印(輸入對象文件3360 )掃描(% s,文件2 )/*目標(biāo)文件名*/if (FP1=foff exit(1) /*打開源文件*/if (FP2=fopen (文件2,w)=fp2=stdout; /*打開目標(biāo)文件,如果找不到則輸出到屏幕*/*從
9、源文件讀取字符并寫入目標(biāo)文件*/while(ch=fgetc(fp1) ) )!=EOF) fputc(ch,fp2) fclose(fp1) /*關(guān)閉兩個文件*/fclose(fp2)、解析c編程計程儀第2章簡單計程儀定編程、12,/* copy.c */#包含# includevoidmain (I 查爾斯; 魔法少女=3) puts (錯誤在參數(shù)中! ); 打開源文件(1)/*打開源文件(FP2=打開(argv 2,w ) )=fppt /*打開目標(biāo)文件,如果找不到則輸出到屏幕*/*從源文件讀取字符并寫入目標(biāo)文件*/while(ch=fgetc(fp1) ) )!=EOF) fputc(
10、ch,fp2) fclose(fp1) /*在編譯同時關(guān)閉兩個文件的*/fclose (FP2)/*堆計程儀欄之后,可以在dos命令行中輸入三個殘奧參數(shù)來執(zhí)行此操作。 第一個是普計程儀欄的名稱copy,第二個是源文件名,第三個是營銷對象文件名。 整個計程儀程序的功能是實現(xiàn)文件復(fù)制*/的c程序計程儀程序設(shè)計第2章簡單計程儀程序設(shè)計,13、分析隨機讀寫文件的方法嗎? 對上一份文件的讀寫都是從頭到尾依次讀(寫)。 如何只讀寫文件的一部分呢? 除了FILE *類型的指針fp指向文件的開頭之外,char *類型的文件指針curp還指向文件中的下一個要讀取(寫入)的字符。 通過改變curp的位置可以進行隨
11、機的讀寫。、c計程儀編程第2章簡單計程儀編程、14、若干相關(guān)函數(shù)、void rewind(FILE *fp )功能:將fp內(nèi)的文件位置指針移動到文件開始位置int fseek(FILE *fp,long offset, int fromwhere )的功能:將fp內(nèi)的文件位置指針置于相應(yīng)的位置fromwhere: SEEK_SET或0-文件開始SEEK_CUR或1-當(dāng)前位置SEEK_END或2-文件末尾long ftell 功能:返回fp中文件位置指針?biāo)谖恢胕nt feof(FILE *fp )的功能:如果文件位置指針指向fp的末尾,則返回非零值;否則返回0示例: while (feof (
12、FP )=0) c=fgetc c柱計程儀設(shè)計第2章簡單柱計程儀設(shè)計,15、#包括結(jié)構(gòu)樹char name 10; 英數(shù); 英格; 卡爾阿德德爾15; boy,*qq=,示例3,解析c計程儀編程第2章簡單計程儀編程,16,示例4 :柱結(jié)構(gòu):浮動fun1(浮動x )/*函數(shù)1定義* /浮動fun2(浮動x )/*函數(shù)2定義* /浮動集成(浮動) 浮點a浮點b) /*積分函數(shù)定義*/void main () y1=對integral (fun 1,a,b) /*函數(shù)1進行積分*/y2=對integral (fun 2,a,b) /*函數(shù)2進行積分*/*實際尺殘奧參數(shù)是函數(shù)名,波形殘奧參數(shù)是函數(shù)指針,函數(shù)名是函數(shù)的參數(shù)這是指向返還值為int的函數(shù)的*/指針初始化,其中p=max; /*f是指f
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淋巴瘤靶向及免疫治療手冊閱讀札記
- JavaScript Vue.js前端開發(fā)任務(wù)驅(qū)動式教程-課件 模塊八 Vue.js基礎(chǔ)知識及應(yīng)用
- 2025年1-6年級小學(xué)語文成語+規(guī)律詞(AABB與ABCC和AABC)填空練習(xí)
- 海洋項目投資效益分析
- 老年護理培訓(xùn)教學(xué)課件
- 2025年按摩浴缸市場調(diào)查報告
- 特色燒烤店品牌授權(quán)及店鋪轉(zhuǎn)讓合同
- 機器人產(chǎn)品貨款抵押智能設(shè)備合同范本
- 保險理賠信息系統(tǒng)驗收合同
- 北京民政局離婚協(xié)議書范本編制流程與范本示例
- 2025屆黑龍江省哈爾濱四十七中學(xué)七年級英語第二學(xué)期期末統(tǒng)考試題含答案
- 譯林版(2024)七年級下冊英語期末復(fù)習(xí):完形填空+閱讀理解 練習(xí)題(含答案)
- 第5章 相交線與平行線 復(fù)習(xí)課件
- 人工智能通識課程開課方案
- 廣東省廣州各區(qū)2025屆七下英語期末經(jīng)典試題含答案
- 企業(yè)科技論文管理制度
- 山東卷2025年高考?xì)v史真題
- 【中考真題】2025年福建中考數(shù)學(xué)真題試卷(含解析)
- 2025年四川省宜賓市中考數(shù)學(xué)真題試卷及答案解析
- 2025-2030年中國蝦苗行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 機械租賃投標(biāo)服務(wù)方案
評論
0/150
提交評論