信息學(xué)奧賽之文件操作_第1頁(yè)
信息學(xué)奧賽之文件操作_第2頁(yè)
信息學(xué)奧賽之文件操作_第3頁(yè)
信息學(xué)奧賽之文件操作_第4頁(yè)
信息學(xué)奧賽之文件操作_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、ABC漢諾塔問題:當(dāng)有10個(gè)盤子的時(shí)候,需要移動(dòng)1023次,因此輸出有1023行呈現(xiàn)不完!統(tǒng)計(jì)單詞個(gè)數(shù)重新輸入?輸入鍵盤輸出屏幕常用:常用:被稱為標(biāo)準(zhǔn)輸入輸出解決方案:解決方案:統(tǒng)計(jì)單詞個(gè)數(shù)漢諾塔問題輸入鍵盤輸出屏幕文本文件輸入鍵盤輸出屏幕文本文件文件操作文件操作打開操作關(guān)閉所有文件操作的順序:打開操作關(guān)閉C語(yǔ)言中操作呢?fopen( , )文件打開函數(shù):文件打開函數(shù):“文件路徑” ”打開模式”要告知計(jì)算機(jī)文件在哪要告知計(jì)算機(jī)以何種方式打開以讀的方式打開in.txt一個(gè)程序中,可能會(huì)打開多個(gè)文件,如何記錄下來(lái)?文件指針:文件指針:指向文件的指針定義定義:FILE *文件指針名;例如例如:FIL

2、E *du;注意:FILE(文件),全是大寫du=fopen(“in.txt”,”r”);以只讀的方式,打開in.txt文件,并將其文件指針賦值給duin.txt不存在,會(huì)發(fā)生什么?返回fopen( );in.txt ,r打開打開模式打開模式r(read): 讀w(write): 寫a(append): 追加r+,w+,a+: 讀和寫常用返回w每次都會(huì)將原內(nèi)容覆蓋;a將會(huì)從文件末尾追加數(shù)據(jù)讀入都以r打開,輸入都以w打開文件路徑文件路徑返回in.txt在data文件夾下文件路徑是:“in.txt”文件路徑是:“data/in.txt”返回FILE *du;du=fopen(“in.txt”,”r

3、”);FILE *xie;du=fopen(“in.txt”,”w”);FILE *du;du=fopen(“in.txt”,”a”);打開失敗,fopen函數(shù)返回NULL,即du將是一個(gè)空指針。NULL意為空將會(huì)自動(dòng)創(chuàng)建in.txt文件,并返回其文件指針scanf(%d,&n);fscanf(du,%d,&n);printf(%d ,ai);fprintf(xie,%d ,ai);du=fopen(in1.txt,r);xie=fopen(out1.txt,w);char a;a=getchar();char a;a=fgetc (du);char s100;gets(s);

4、char s100;fgets (s,100,du);puts(s);fputs(s,xie);與標(biāo)準(zhǔn)讀寫相比,只增加了文件指針。輸入輸入增加以”r r”的方式打開的指針;輸出輸出增加以”w w”方式打開的指針操作返回fclose(文件指針名);例如例如fclose(du);fclose(xie);文件操作結(jié)束后,必須關(guān)閉文件,以確保文件的完整性和可靠性,否則會(huì)引起文件處理錯(cuò)誤,造成數(shù)據(jù)的丟失。返回關(guān)閉小知識(shí)點(diǎn)EOF (End of file)文件結(jié)尾標(biāo)志while(ch!=EOF) 操作 ch=fgetc(du);常見用法:常見用法:實(shí)戰(zhàn)將in.txt中的所有小寫字母轉(zhuǎn)換成大寫字母后,輸出至

5、out.txt題目:題目:示范:示范:準(zhǔn)備工作準(zhǔn)備好文件(使用記事本創(chuàng)建)與程序放在同一文件夾內(nèi)。#include#include 后面將會(huì)用到大小寫轉(zhuǎn)換的函數(shù)#include#include int main()char s100; 儲(chǔ)存字符串#include#include int main()char s100; FILE *du,*xie;1、建立文件指針;讀和寫分別針對(duì)是兩個(gè)文件,因此新建兩個(gè)指針#include#include int main()char s100; FILE *du,*xie;1、建立文件指針;2、使用fopen函數(shù)(1)打開文件;(2)決定打開文件類型;(3)

6、將文件指針指向文件;fopen( );in.txt ,rdu= xie=fopen(out.txt,w);#include#include int main()char s100; FILE *du,*xie;1、建立文件指針;2、使用fopen函數(shù)(1)打開文件;(2)決定打開文件類型;(3)將文件指針指向文件;fopen( );in.txt ,rdu= xie=fopen(out.txt,w);fgets(s,100,du);3、對(duì)文件進(jìn)行讀、寫操作;將其改成fscanf(du,”%s”,s);是否可行?scanf(“%s”,s)不能讀取空格;fscanf(du,”%s”,s)同樣如此#i

7、nclude#include int main()char s100; FILE *du,*xie;1、建立文件指針;2、使用fopen函數(shù)(1)打開文件;(2)決定打開文件類型;(3)將文件指針指向文件;fopen( );in.txt ,rdu= xie=fopen(out.txt,w);fgets(s,100,du);3、對(duì)文件進(jìn)行讀、寫操作;strupr(s);將s中的小寫全部轉(zhuǎn)換為大寫;#include#include int main()char s100; FILE *du,*xie;1、建立文件指針;2、使用fopen函數(shù)(1)打開文件;(2)決定打開文件類型;(3)將文件指針指

8、向文件;fopen( );in.txt ,rdu= xie=fopen(out.txt,w);fgets(s,100,du);3、對(duì)文件進(jìn)行讀、寫操作;strupr(s);fprintf(xie,%s,s);輸出。fputs(s,xie);同樣也是正確的。#include#include int main()char s100; FILE *du,*xie;1、建立文件指針;2、使用fopen函數(shù)(1)打開文件;(2)決定打開文件類型;(3)將文件指針指向文件;fopen( );in.txt ,rdu= xie=fopen(out.txt,w);fgets(s,100,du);3、對(duì)文件進(jìn)行讀、寫操作;strupr(s);fprintf(xie,%s,s);4、在使用完文件后,關(guān)閉文件;fclose(du);fclose(xie);1、建立文件指針;2、使用fopen函數(shù)(1)打開文件;(2)決定打開文件類型;(3)將文件指針指向文件;3、對(duì)文件進(jìn)行讀、寫操作;4、在使用完文件后,關(guān)閉文件; FILE *du,*xi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論