下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第C++seekg函數(shù)用法案例詳解C++seekg函數(shù)用法詳解
很多時候用戶可能會這樣操作,打開一個文件,處理其中的所有數(shù)據(jù),然后將文件倒回到開頭,再次對它進行處理,但是這可能有點不同。例如,用戶可能會要求程序在數(shù)據(jù)庫中搜索某種類型的所有記錄,當(dāng)這些記錄被找到時,用戶又可能希望在數(shù)據(jù)庫中搜索其他類型的所有記錄。
文件流類提供了許多不同的成員函數(shù),可以用來在文件中移動。其中的一個方法如下:
seekg(offset,place);
這個輸入流類的成員函數(shù)的名字seekg由兩部分組成。首先是seek(尋找)到文件中的某個地方,其次是"g"表示"get",指示函數(shù)在輸入流上工作,因為要從輸入流獲取數(shù)據(jù)。
要查找的文件中的新位置由兩個形參給出:新位置將從由place給出的起始位置開始,偏移offset個字節(jié)。offset形參是一個long類型的整數(shù),而place可以是ios類中定義的3個值之一。起始位置可能是文件的開頭、文件的當(dāng)前位置或文件的末尾,這些地方分別由常量ios::beg、ios::cur和ios::end表示。
有關(guān)在文件中移動的更多信息將在后面的章節(jié)中給出,目前先來關(guān)注如何移動到文件的開頭。要移到文件的開始位置,可以使用以下語句:
seekg(0L,ios::beg);
以上語句表示從文件的開頭位置開始,移動0字節(jié),實際上就是指移動到文件開頭。
注意,如果目前已經(jīng)在文件末尾,則在調(diào)用此函數(shù)之前,必須清除文件末尾的標(biāo)志。因此,為了移動到剛讀取到末尾的文件流dataln的開頭,需要使用以下兩個語句:
dataIn.clear();
dataIn.seekg(0L,ios::beg);
下面的程序演示了如何倒回文件的開始位置。它首先創(chuàng)建一個文件,寫入一些文本,并關(guān)閉文件;然后打開文件進行輸入,一次讀取到最后,倒回文件開頭,然后再次讀?。?/p>
//Programshowshowtorewindafile.Itwritesatextfileandopensitforreading,thenrewinds
//ittothebeginningandreadsitagain.
#includeiostream
#includefstream
usingnamespacestd;
intmain()
//Variablesneededtoreadorwritefileonecharacteratatimecharch;
fstreamioFile("rewind.txt",ios::out);
//Openfile.
if(!ioFile)
cout"Errorintryingtocreatefile";
return0;
//Writetofileandclose
ioFile"Allgooddogs"endl"growl,bark,andeat."endl;
ioFile.close();
//Openthefile
ioFile.open("rewind.txt",ios::in);
if(!ioFile)
cout"Errorintryingtoopenfile";
return0;
//Readthefileandechotoscreen
ioFile.get(ch);
while(!ioFile.fail())
cout.put(ch);
ioFile.get(ch);
//Rewindthefile
ioFile.clear();
ioFile.seekg(0,ios::beg);
//Readfileagainandechotoscreen
ioFile.get(ch);
while(!ioFile.fail())
cout.put(ch);
ioFile.get(ch);
return0;
}
程序輸
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年農(nóng)業(yè)主題公園運營策略方法
- 2026年HRBP業(yè)務(wù)伙伴角色賦能課
- 2026年鄉(xiāng)村治理積分制應(yīng)用策略
- 2026湖北武漢武昌區(qū)中南電力設(shè)計院有限公司數(shù)智科技公司招聘4人備考題庫及答案詳解1套
- 趣味天文知識
- 職業(yè)噪聲暴露限值標(biāo)準(zhǔn)的制定依據(jù)
- 職業(yè)健康風(fēng)險評估方法學(xué)在化工行業(yè)中的創(chuàng)新應(yīng)用
- 2023年船企裝備行業(yè)分析報告及未來五至十年行業(yè)發(fā)展報告
- 職業(yè)健康風(fēng)險評估與員工職業(yè)發(fā)展精準(zhǔn)匹配策略-1
- 職業(yè)安全教育培訓(xùn)收獲課件
- 2026重慶高新開發(fā)建設(shè)投資集團招聘3人備考考試試題及答案解析
- 2026年度宣城市宣州區(qū)森興林業(yè)開發(fā)有限公司第一批次員工公開招聘筆試參考題庫及答案解析
- 老年人管理人員培訓(xùn)制度
- 2025年湖南常德市鼎城區(qū)面向全市選調(diào)8名公務(wù)員備考題庫及答案詳解(新)
- 2026年高考時事政治時事政治考試題庫及答案(名校卷)
- 2026年新能源汽車動力電池回收體系構(gòu)建行業(yè)報告
- 2026四川成都市錦江區(qū)國有企業(yè)招聘18人筆試備考試題及答案解析
- 2025學(xué)年度人教PEP五年級英語上冊期末模擬考試試卷(含答案含聽力原文)
- 企業(yè)內(nèi)部承包責(zé)任制管理辦法
- 胰島細(xì)胞瘤課件
- 生鮮采購員知識培訓(xùn)內(nèi)容課件
評論
0/150
提交評論