C++程序設(shè)計(jì):第10講文件_第1頁(yè)
C++程序設(shè)計(jì):第10講文件_第2頁(yè)
C++程序設(shè)計(jì):第10講文件_第3頁(yè)
C++程序設(shè)計(jì):第10講文件_第4頁(yè)
C++程序設(shè)計(jì):第10講文件_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第10講-文件1、文本文件的創(chuàng)建與寫(xiě)入2、文本文件的讀取3、文本文件的追加4、文本文件的查詢(xún)5、文本文件的插入6、文本文件的刪除7、文本文件的修改8、文本文件的排序9、文本文件的索引與快速查找第10講文本文件的創(chuàng)建與寫(xiě)入1、創(chuàng)建文本文件指針#include<fstream>//filestream文件流方式ofstreamoutFile("文件名",ios::out);//輸出方式建文件ofstreamoutFile;//先聲明變量,后面才打開(kāi)該文件outFile.open("文件名",ios::out); 2、往文件中寫(xiě)入內(nèi)容ctrl+z結(jié)束輸入while(cin>>name>>no>>score){ if(i>0){outFile<<endl;} i++;//最后行后無(wú)換行符

outFile<<name<<""<<no<<""<<score;

cout<<"?";}//寫(xiě)入數(shù)據(jù)間空格分隔3、關(guān)閉文件outFile.close();//可不寫(xiě),指針outFile釋放時(shí)自動(dòng)關(guān)閉,但影響其他用戶(hù)的讀寫(xiě)呀!第10講文本文件的創(chuàng)建與寫(xiě)入第10講文本文件的創(chuàng)建與寫(xiě)入第10講-文件1、文本文件的創(chuàng)建與寫(xiě)入2、文本文件的讀取3、文本文件的追加4、文本文件的查詢(xún)5、文本文件的插入6、文本文件的刪除7、文本文件的修改8、文本文件的排序9、文本文件的索引與快速查找第10講文本文件的創(chuàng)建與寫(xiě)入1、ofstreamoF("文件名",ios::out);//接受它人輸出ifstreamoF("lt1.txt",ios::app);//追加到文件尾部ofstreamoF("lt1.txt",ios::ate);//尾追或中間插入ifstreamoF("lt1.txt",ios::in);//輸入給它人方式ofstreamoF("lt1.txt",ios::trunc);//丟棄現(xiàn)在內(nèi)容=outfstreamoF("lt1.txt",ios::binary);//二進(jìn)制即非文本2、if(!oF){cerr<<"文件不能打開(kāi)"<<endl;exit(1);}

重載&operator!,若failbit或badbit任何設(shè)置了出錯(cuò)了3、while(cin>>studno…),隱含調(diào)用了cin.void*,當(dāng)出錯(cuò)或遇到^z+Enter則結(jié)束循環(huán),不用cin.eof()。由于io套路相同,此方法可用從普通文件輸入數(shù)據(jù)。

建立與讀取一樣了!第10講文本文件讀取1、ofstreamoF("文件名",ios::out);//接受它人輸出ifstreamoF("lt1.txt",ios::app);//追加到文件尾部ofstreamoF("lt1.txt",ios::ate);//尾追或中間插入ifstreamoF("lt1.txt",ios::in);//輸入給它人方式ofstreamoF("lt1.txt",ios::trunc);//丟棄現(xiàn)在內(nèi)容=outfstreamoF("lt1.txt",ios::binary);//二進(jìn)制即非文本2、if(!oF){cerr<<"文件不能打開(kāi)"<<endl;exit(1);}3、while(fin>>studno…)當(dāng)出錯(cuò)或遇到^z+Enter則結(jié)束第10講文本文件的創(chuàng)建與寫(xiě)入建文件:cin-->fout文件復(fù)制讀文件:fin--->cout第10講文本文件//文件尾eof()函數(shù),fin.seekg(0);//回到起始位置fin.seekg(n);//fin.seekg(n,ios::beg)fin.seekg(n,ios::cur);//n<0回n>0下fin.seekg(-n,ios::end);//從end往回n個(gè)字節(jié)fin.seekg(0,ios::end);//定在最后位置seekp()類(lèi)似longlocation=fin.tellg();//返回當(dāng)前位置第10講文本文件的創(chuàng)建與寫(xiě)入//文件尾eof()函數(shù),//fin.seekg(0)回到起始位置//fin.seekg(n)fin.seekg(n,ios::beg)//fin.seekg(n,ios::cur)n<0回n>0下//fin.seekg(-n,ios::end)從end往回n個(gè)字節(jié)//fin.seekg(0,ios::end)定在最后位置seekp()類(lèi)似//longlocation=fin.tellg();返回當(dāng)前位置第10講文本文件第10講文本文件的創(chuàng)建與寫(xiě)入第10講文本文件第10講文本文件的創(chuàng)建與寫(xiě)入另一種逆序fin.seekg(-n,ios::cur)前面fin.seekg(-n,ios::end)每次以end為基準(zhǔn)

第10講-文件1、文本文件的創(chuàng)建與寫(xiě)入2、文本文件的讀取3、文本文件的追加4、文本文件的查詢(xún)5、文本文件的插入6、文本文件的刪除7、文本文件的修改8、文本文件的排序9、文本文件的索引與快速查找第10講文本文件1、ofstreamoF("文件名",ios::out);//接受它人輸出ifstreamoF("lt1.txt",ios::app);//追加到文件尾部ofstreamoF("lt1.txt",ios::ate);//尾追或中間插入ifstreamoF("lt1.txt",ios::in);//輸入給它人方式ofstreamoF("lt1.txt",ios::trunc);//丟棄現(xiàn)在內(nèi)容=outfstreamoF("lt1.txt",ios::binary);//二進(jìn)制即非文本從鍵盤(pán)讀入數(shù)據(jù)并寫(xiě)入到文件中2、while(cin>>studno…)

{fout<<studno<<studname<<...}第10講文本文件的創(chuàng)建與寫(xiě)入第10講-文件1、文本文件的創(chuàng)建與寫(xiě)入2、文本文件的讀取3、文本文件的追加4、文本文件的查詢(xún)5、文本文件的插入6、文本文件的刪除7、文本文件的修改8、文本文件的排序9、文本文件的索引與快速查找第10講文本文件的查詢(xún)1、ofstreamoF("文件名",ios::out);//接受它人輸出ifstreamoF("lt1.txt",ios::app);//追加到文件尾部ofstreamoF("lt1.txt",ios::ate);//尾追或中間插入ifstreamoF("lt1.txt",ios::in);//將內(nèi)容輸入變量中ofstreamoF("lt1.txt",ios::trunc);//丟棄現(xiàn)在內(nèi)容=outfstreamoF("lt1.txt",ios::binary);//二進(jìn)制即非文本將文件數(shù)據(jù)讀入到變量中,與指定學(xué)號(hào)相等的記錄,全部返回來(lái)2、while(fin>>studno…)

{if(studno==findVal){...}}第10講文本文件的創(chuàng)建與寫(xiě)入第10講文本文件第10講文本文件的創(chuàng)建與寫(xiě)入第10講-文件1、文本文件的創(chuàng)建與寫(xiě)入2、文本文件的讀取3、文本文件的追加4、文本文件的查詢(xún)5、文本文件的插入6、文本文件的刪除7、文本文件的修改8、文本文件的排序9、文本文件的索引與快速查找第10講文本文件插入1、ofstreamoF("文件名",ios::out);//接受它人輸出ifstreamoF("lt1.txt",ios::app);//追加到文件尾部ofstreamoF("lt1.txt",ios::ate);//尾追或中間插入ifstreamoF("lt1.txt",ios::in);//將內(nèi)容輸入變量中ofstreamoF("lt1.txt",ios::trunc);//丟棄現(xiàn)在內(nèi)容=outfstreamoF("lt1.txt",ios::binary);//二進(jìn)制即非文本將文件數(shù)據(jù)讀入到變量中,與指定學(xué)號(hào)不相等的記錄,直接寫(xiě)入到新文件中,與指定學(xué)號(hào)相等則先寫(xiě)入待插入的記錄到新文件中,再寫(xiě)入讀出的記錄到新文件中。全部返回來(lái)

原文件-->輸入到變量--->輸出到新文件Lt10M第10講文本文件的查詢(xún)?nèi)绻募嬖趧t改名若成功則返回1第10講文本文件的查詢(xún)?nèi)绻募嬖趧t改名若成功則返回1第10講-文件1、文本文件的創(chuàng)建與寫(xiě)入2、文本文件的讀取3、文本文件的追加4、文本文件的查詢(xún)5、文本文件的插入6、文本文件的刪除7、文本文件的修改8、文本文件的排序9、文本文件的索引與快速查找第10講文本文件刪除1、ofstreamoF("文件名",ios::out);//接受它人輸出ifstreamoF("lt1.txt",ios::app);//追加到文件尾部ofstreamoF("lt1.txt",ios::ate);//尾追或中間插入ifstreamoF("lt1.txt",ios::in);//將內(nèi)容輸入變量中ofstreamoF("lt1.txt",ios::trunc);//丟棄現(xiàn)在內(nèi)容=outfstreamoF("lt1.txt",ios::binary);//二進(jìn)制即非文本將文件數(shù)據(jù)讀入到變量中,與指定學(xué)號(hào)不相等的記錄,直接寫(xiě)入到新文件中,

原文件-->輸入到變量--->輸出到新文件Lt10N第10講文本文件的查詢(xún)?nèi)绻募嬖趧t改名若成功則返回1第10講文本文件的查詢(xún)第10講-文件1、文本文件的創(chuàng)建與寫(xiě)入2、文本文件的讀取3、文本文件的追加4、文本文件的查詢(xún)5、文本文件的插入6、文本文件的刪除7、文本文件的修改8、文本文件的排序9、文本文件的索引與快速查找第10講文本文件1、ofstreamoF("文件名",ios::out);//接受它人輸出ifstreamoF("lt1.txt",ios::app);//追加到文件尾部ofstreamoF("lt1.txt",ios::ate);//尾追或中間插入ifstreamoF("lt1.txt",ios::in);//將內(nèi)容輸入變量中ofstreamoF("lt1.txt",ios::trunc);//丟棄現(xiàn)在內(nèi)容=outfstreamoF("lt1.txt",ios::binary);//二進(jìn)制即非文本將文件數(shù)據(jù)讀入到變量中,與指定學(xué)號(hào)相等的記錄,修改以后寫(xiě)入到新文件中,與指定學(xué)號(hào)不相等的記錄,直接寫(xiě)入到新文件中

原文件-->輸入到變量--->輸出到新文件Lt10N第10講文本文件的查詢(xún)

如果文件存在則改名若改名成功則返回1

原文件--改名為---帶bak文件從bak文件讀取數(shù)據(jù),修改后寫(xiě)入到原文件名所指文件中第10講文本文件第10講-文件1、文本文件的創(chuàng)建與寫(xiě)入2、文本文件的讀取3、文本文件的追加4、文本文件的查詢(xún)5、文本文件的插入6、文本文件的刪除7、文本文件的修改8、文本文件的排序9、文本文件的索引與快速查找第10講文本文件1、ofstreamoF("文件名",ios::out);//接受它人輸出ifstreamoF("lt1.txt",ios::in);//將內(nèi)容輸入變量中將文件數(shù)據(jù)讀入到變量中,將排序字段studno的值讀入到數(shù)組studNo中。為此先遍歷數(shù)據(jù)表一次,獲取其記錄數(shù),再創(chuàng)建其數(shù)組,再?gòu)念^讀到尾建立相關(guān)數(shù)組。根據(jù)關(guān)鍵字段排序,同時(shí)調(diào)用記錄數(shù)組最后將排序結(jié)果寫(xiě)入到結(jié)果文件中

原文件-->輸入到數(shù)組--->輸出到新文件Lt10N第10講文本文件的查詢(xún)

如果文件存在則改名若改名成功則返回1

原文件--改名為---帶bak文件從bak文件讀取數(shù)據(jù),修改后寫(xiě)入到原文件名所指文件中第10講文本文件第10講文本文件第10講-文件1、文本文件的創(chuàng)建與寫(xiě)入2、文本文件的讀取3、文本文件的追加4、文本文件的查詢(xún)5、文本文件的插入6、文本文件的刪除7、文本文件的修改8、文本文件的排序9、文本文件的索引與快速查找第10講文本文件1、ofstreamoF("文件名",ios::out);//接受它人輸出ifstreamoF("lt1.txt",ios::in);//將內(nèi)容輸入變量中將文件數(shù)據(jù)讀入到變量中,將排序字段studno的值讀入到數(shù)組studNo,。為此先遍歷數(shù)據(jù)表一次,獲取其記錄數(shù),再創(chuàng)建其數(shù)組,再?gòu)念^讀到尾建立相關(guān)數(shù)組。根據(jù)關(guān)鍵字段排序,同時(shí)調(diào)用記錄數(shù)組最后將排序結(jié)果寫(xiě)入到結(jié)果文件中

原文件-->輸入到數(shù)組--->輸出到新文件Lt10N第10講文本文件的查詢(xún)

如果索引文件存在則刪除之第10講文本文件第10講文本文件第10講文本文件1、ofstreamoF("文件名",ios::out);//接受它人輸出ifstreamoF("lt1.txt",ios::in);//將內(nèi)容輸入變量中將文件數(shù)據(jù)讀入到變量中,將排序字段studno的值讀入到數(shù)組studNo,。為此先遍歷數(shù)據(jù)表一次,獲取其記錄數(shù),再創(chuàng)建其數(shù)組,再?gòu)念^讀到尾建立相關(guān)數(shù)組。根據(jù)關(guān)鍵字段排序,同時(shí)調(diào)用記錄數(shù)組最后將排序結(jié)果寫(xiě)入到結(jié)果文件中

索引文件-->輸入到索引數(shù)組--->

數(shù)據(jù)文件---顯示出來(lái)第10講文本文件的查詢(xún)

如果索引文件存在則刪除之第10講文本文件第10講文本文件1、ofstreamoF("文件名",ios::out);//接受它人輸出ifstreamoF("lt1.txt",ios::in);//將內(nèi)容輸入變量中將文件數(shù)據(jù)讀入到變量中,將排序字段studno的值讀入到數(shù)組studNo,。為此先遍歷數(shù)據(jù)表一次,獲取其記錄數(shù),再創(chuàng)建其數(shù)組,再?gòu)念^讀到尾建立相關(guān)數(shù)組。根據(jù)關(guān)鍵字段排序,同時(shí)調(diào)用記錄數(shù)組最后將排序結(jié)果寫(xiě)入到結(jié)果文件中

索引文件-->輸入到索引數(shù)組--->

數(shù)據(jù)文件---顯示出來(lái),二分法查詢(xún)學(xué)號(hào)第10講文本文件的查詢(xún)

如果索引文件存在則刪除之第10講文本文件1、整合成一個(gè)小系統(tǒng)

在類(lèi)StudScore的基礎(chǔ)上,得到StudScoreFile2、按姓名findByEqName(stringfn,stringfindVal)

按課程findByEqKc(strngfn,stringfindVal)

按ps1查findByPs1(stringfn,doubleps1)按ps2查findByPs2(stringfn,doubleps2)按examend查findByExamend(stringfn,doubleps2)按totalScore查findByScore(stringfn,double

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論