C語言文件中數(shù)據(jù)的訪問與存儲_第1頁
C語言文件中數(shù)據(jù)的訪問與存儲_第2頁
C語言文件中數(shù)據(jù)的訪問與存儲_第3頁
C語言文件中數(shù)據(jù)的訪問與存儲_第4頁
C語言文件中數(shù)據(jù)的訪問與存儲_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第6章文件中數(shù)據(jù)的訪問與存儲章文件中數(shù)據(jù)的訪問與存儲6.1文件的概念和分類文件的概念和分類 6.2文件中數(shù)據(jù)的讀寫步驟文件中數(shù)據(jù)的讀寫步驟6.3文本文件中數(shù)據(jù)的讀寫操作文本文件中數(shù)據(jù)的讀寫操作p1916.1文件的概念和分類文件的概念和分類p192返回返回6.1文件的概念和分類文件的概念和分類p192返回返回6.1文件的概念和分類文件的概念和分類p192返回返回6.2文件中數(shù)據(jù)的讀寫步驟文件中數(shù)據(jù)的讀寫步驟p192返回返回6.3文本文件中數(shù)據(jù)的讀寫操作文本文件中數(shù)據(jù)的讀寫操作p192返回返回6.3.1向文本文件中寫數(shù)據(jù)向文本文件中寫數(shù)據(jù)p1926.3.1向文本文件中寫數(shù)據(jù)向文本文件中寫數(shù)據(jù)p1

2、92#include main() 定義文件指針定義文件指針fp 打開(或建立)打開(或建立)d盤盤c文件夾中的文件夾中的“f1.txt”文文件件 將問候語寫入將問候語寫入“f1.txt”文件文件 關(guān)閉文件關(guān)閉文件file *fp;fp=fopen(d:cf1.txt,w);fprintf(fp,n);fprintf(fp,n);fprintf(fp,n);fprintf(fp,n);fprintf(fp,n);fprintf(fp,n);fprintf(fp,n);fclose(fp);p194#include #include #include main() 定義整型變量定義整型變量a、b

3、、c和和i 定義文件指針定義文件指針fpint a,b,c,i;file *fp; 打開打開d盤盤c文件夾中的文件夾中的“f2.txt”文件文件 隨機產(chǎn)生三個題目隨機產(chǎn)生三個題目fp=fopen(d:cf2.txt,w);if(fp=null) printf(can not open the file.n); exit(0);srand(time(0);for(i=1; i=3; i+) a=rand()%100; b=rand()%100;文件打開失敗文件打開失敗 等待鍵盤輸入答案等待鍵盤輸入答案 將題目和答案存入將題目和答案存入“f2.txt”文件文件 關(guān)閉文件關(guān)閉文件 fprintf(f

4、p,(%d) %d+%d=%dn, i,a,b,c);fclose(fp); printf(第第%d題:題:%d+%d=,i,a,b); scanf(%d,&c);形式接近形式接近 p195#include #include struct list 定義存放中文單詞的成員定義存放中文單詞的成員 定義存放英文單詞的成員定義存放英文單詞的成員;main() 定義名為定義名為list的結(jié)構(gòu)體類型數(shù)組的結(jié)構(gòu)體類型數(shù)組a并初始化并初始化 定義循環(huán)變量定義循環(huán)變量i 定義文件指針定義文件指針fp 打開當(dāng)前文件夾中的打開當(dāng)前文件夾中的“f3.txt”文件文件 將結(jié)構(gòu)體數(shù)組將結(jié)構(gòu)體數(shù)組a中的數(shù)據(jù)寫入中的數(shù)據(jù)寫

5、入“f3.txt”文件文件 關(guān)閉文件關(guān)閉文件char cn10;char en10;既清晰又易讀取既清晰又易讀取#include #include struct list 定義存放中文單詞的成員定義存放中文單詞的成員 定義存放英文單詞的成員定義存放英文單詞的成員;main() 定義名為定義名為list的結(jié)構(gòu)體類型數(shù)組的結(jié)構(gòu)體類型數(shù)組a并初始化并初始化 定義循環(huán)變量定義循環(huán)變量i 定義文件指針定義文件指針fp 打開當(dāng)前文件夾中的打開當(dāng)前文件夾中的“f3.txt”文件文件 將結(jié)構(gòu)體數(shù)組將結(jié)構(gòu)體數(shù)組a中的數(shù)據(jù)寫入中的數(shù)據(jù)寫入“f3.txt”文件文件 關(guān)閉文件關(guān)閉文件main() struct lis

6、t a5= 中國中國,china,女孩女孩, girl,男孩男孩,boy,人人,man, 一一,one; int i; file *fp; fp=fopen(f3.txt,w); if(fp=null) printf(can not open the file.n); exit(0); for(i=0; i5; i+) fprintf(fp,%15s%15sn, ,ai.en); fclose(fp);相對路徑相對路徑最好提供寬度最好提供寬度p197#include struct list 定義存放中文單詞的成員定義存放中文單詞的成員 定義存放英文單詞的成員定義存放英文單詞的成員;main()

7、 定義名為定義名為list的結(jié)構(gòu)體類型變量的結(jié)構(gòu)體類型變量w 定義文件指針定義文件指針fp 打開當(dāng)前文件夾中的打開當(dāng)前文件夾中的“f3.txt”文件文件 輸入要添加的單詞輸入要添加的單詞 將添加的單詞寫入將添加的單詞寫入“f3.txt”文件文件 關(guān)閉文件關(guān)閉文件char cn10;char en10;struct list w;file *fp;gets(); gets(w.en);fprintf(fp,%15s%15sn,w.en);fp=fopen(f3.txt,a);if(fp=null) fclose(fp);打打 開方開方 式式功功 能能 文本文本 二進(jìn)制二進(jìn)制 rrb僅為讀打開已有

8、文件僅為讀打開已有文件wwb僅為寫打開僅為寫打開aab為追加打開為追加打開p2006.3.2從已有的文本從已有的文本文件中讀數(shù)據(jù)文件中讀數(shù)據(jù)p2006.3.2從已有的文本從已有的文本文件中讀數(shù)據(jù)文件中讀數(shù)據(jù)p200#include #include main() 定義整型變量定義整型變量a、b、c、k和和i 定義文件指針定義文件指針fp 打開打開d盤盤c文件夾中的文件夾中的“f2.txt”文件文件 從從“f2.txt”文件中讀取題目和答案文件中讀取題目和答案 將題目和答案顯示在屏幕上將題目和答案顯示在屏幕上 關(guān)閉文件關(guān)閉文件int a,b,c,k,i;file *fp;if(fp=null)

9、fp=fopen(d:cf2.txt,r);for(i=1; i=3; i+) fscanf(fp,(%d) %d+%d=%dn, &k,&a,&b,&c); printf(-%d- %d+%d=%dn, k,a,b,c);fclose(fp);p201#include #include struct list 定義存放中文單詞的成員定義存放中文單詞的成員 定義存放英文單詞的成員定義存放英文單詞的成員; char cn10;char en10;main() 定義循環(huán)變量定義循環(huán)變量i 定義名為定義名為list的結(jié)構(gòu)體類型變量的結(jié)構(gòu)體類型變量w 定義文件指針定義文件指針fp 打開打開d盤盤c文件

10、夾中的文件夾中的“f3.txt”文件文件 從從“f3.txt”文件中讀取單詞文件中讀取單詞 將單詞顯示在屏幕上將單詞顯示在屏幕上 關(guān)閉文件關(guān)閉文件int i;struct list w;file *fp;if(fp=null) fp=fopen(d:cf3.txt,r);for(i=1; i=5; i+) fscanf(fp,%15s%15sn, ,w.en); printf(%15s%15sn, ,w.en);fclose(fp);對于長度不定的文件對于長度不定的文件 while(feof(fp)=0) p203#include #include #include struct list 定

11、義存放中文單詞的成員定義存放中文單詞的成員 定義存放英文單詞的成員定義存放英文單詞的成員; char cn10;char en10;main() 定義名為定義名為list的結(jié)構(gòu)體類型變量的結(jié)構(gòu)體類型變量w 定義文件指針定義文件指針fp 定義標(biāo)志變量定義標(biāo)志變量s.flag 定義字符串變量定義字符串變量str 打開打開d盤盤c文件夾中的文件夾中的“f3.txt”文件文件 struct list w;file *fp;int s,flag=0;char str20;fp=fopen(d:cf3.txt,r);if(fp=null) printf(can not open the file.n);

12、exit(0);選擇是英漢還是漢英?選擇是英漢還是漢英?輸入待查找的單詞輸入待查找的單詞printf(請選擇:請選擇:n英漢英漢-1n漢英漢英-2n);scanf(%d,&s);if(s=1) printf(請輸入要查找的英文單詞請輸入要查找的英文單詞:n); scanf(%s,str);else if(s=2) printf(請輸入要查找的中文請輸入要查找的中文:n); scanf(%s,str); 在在“f3.txt”文件中查找對應(yīng)單詞文件中查找對應(yīng)單詞 輸出查找結(jié)果輸出查找結(jié)果while(feof(fp)=0) fscanf(fp,%15s%15sn,w.en); if(s=1 & st

13、rcmp(str,w.en)=0) flag=1; printf(%s: %sn,w.en,); break; if(s=2 & strcmp(str,)=0) flag=1; printf(%s: %sn,w.en); break; if(flag=0)printf(沒有查找到對應(yīng)的單詞沒有查找到對應(yīng)的單詞); 關(guān)閉文件關(guān)閉文件 fclose(fp);p205用記事本在用記事本在d d盤盤c c文件夾下建立文件文件夾下建立文件“f4.txt”f4.txt”和和“f5.txt”f5.txt”,文件中存放漢英對照表。,文件中存放漢英對照表。 #include #include struct li

14、st 定義存放中文單詞的成員定義存放中文單詞的成員 定義存放英文單詞的成員定義存放英文單詞的成員; char cn10;char en10;main() 定義名為定義名為list的結(jié)構(gòu)體類型變量的結(jié)構(gòu)體類型變量w 定義文件指針定義文件指針fp1,fp2 打開打開d盤盤c文件夾中的文件夾中的“f4.txt”文件文件 打開打開d盤盤c文件夾中的文件夾中的“f5.txt”文件文件struct list w;file *fp1,*fp2;fp1=fopen(d:cf4.txt,a);if(fp1=null) printf(can not open the file.n); exit(0);fp2=fo

15、pen(d:cf5.txt,r);if(fp2=null) printf(can not open the file.n); exit(0); 從從“f5.txt”文件中讀取數(shù)據(jù)文件中讀取數(shù)據(jù) 將數(shù)據(jù)追加到將數(shù)據(jù)追加到“f4.txt”文件文件 關(guān)閉兩個文件關(guān)閉兩個文件while(feof(fp2)=0)fscanf(fp2,%10s%15sn,w.en); fprintf(fp1,%10s%15sn,w.en);fclose(fp1);fclose(fp2); p207p2076.3.3文本文件中對文本文件中對數(shù)據(jù)的讀寫操作數(shù)據(jù)的讀寫操作p2076.3.3文本文件中對文本文件中對數(shù)據(jù)的讀寫操作

16、數(shù)據(jù)的讀寫操作p207#include #include main() 定義整型數(shù)組定義整型數(shù)組a、b、c、k 定義循環(huán)控制變量定義循環(huán)控制變量i、j 定義文件指針定義文件指針fp 打開打開d盤盤c文件夾中的文件夾中的“f2.txt”文件文件int a50,b50,c50,k50,i,j;file *fp;fp=fopen(d:cf2.txt,r);if(fp=null) printf(can not open the file.n); exit(0);從從“f2.txt”文件中讀取數(shù)據(jù)到數(shù)組文件中讀取數(shù)據(jù)到數(shù)組a、b、c、k中中關(guān)閉文件關(guān)閉文件修改第修改第1題答案題答案i=0;while(f

17、eof(fp)=0) fscanf(fp,(%d) %d+%d=%dn, &ki,&ai,&bi,&ci); i+;fclose(fp);printf(-%d- %d+%d=n, k0,a0,b0);printf(請輸入正確答案:請輸入正確答案:);scanf(%d,&c0); 重新打開重新打開“f2.txt”文件文件 將修改后的新數(shù)據(jù)寫入該文件將修改后的新數(shù)據(jù)寫入該文件 關(guān)閉文件關(guān)閉文件fp=fopen(d:cf2.txt,w);if(fp=null) printf(can not open the file.n); exit(0);for(j=0; ji; j+) fprintf(fp,(%d) %d+%d=%dn, kj,aj,bj,cj);printf(修改完畢修改完畢n);fclose(fp) 0)p209#include #include main() 定義整型變量定義整型變量a、b、c、k 定義文件指針定義文件指針fp1、fp2 打開打開d盤盤c文件夾中文件夾中“f2.txt”、“f2_new.txt” 從從“f2.txt”文件中讀取數(shù)據(jù)文件中讀取數(shù)據(jù) 將數(shù)據(jù)寫入將數(shù)據(jù)寫入“f2_new.txt”文件中文件中 關(guān)閉文件關(guān)閉文件 #include #include main() int a,b,c,k; file *fp1,*fp2; fp1=fope

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論