假設現在我有一檔案如下(example.txt)

zzz, xxx, yyy, ttt,
aaa, bbb, ccc, ddd,
eee, fff, ggg, hhh,

假設我我現在程式讀到了 ccc, 並輸出到螢幕上
我現在想要跳回去讀 aaa, 並輸出到螢幕上

請問各位高手,要如何將檔案的當前讀取的位子往前移
感謝萬分~

附上我讀取檔案用的語法,在4摟
可以問一下你是用哪種語法來讀取檔案??
如果我沒記錯,應該是用 fseek,詳細參數上網查詢吧

詩人1234 wrote:
可以問一下你是用哪種...(恕刪)


這是我用的語法

char* FileNameIn="StudentScore.txt";
char* target = new char [20];
ifstream FileInput;
FileInput.open(FileNameIn);
.
.
.
FileInput >> target;
cout << target << endl ;


抱歉我是C++新手

lichcen wrote:
這是我用的語法cha...(恕刪)


ifstream::seekg (inherited from istream)。

google 一下吧。

應該是
FileInput.seekg(0, ios::beg)

bazinewbie wrote:
ifstream::...(恕刪)


我GOOGLE很久了
我FileInput.seekg(0, ios::beg)後再將它COUT輸出
結果還是停在ccc

我只會用
FileInput >> target;
FileInput >> target;
數次
這樣往前推進,到想要的位子時
後再cout << target ;

現在我想要回到前幾個字串再把它輸出
有類似的方式嗎

又seekg還要算要退幾個字元?好像很不好做

感謝回覆~

lichcen wrote:
我GOOGLE很久了...(恕刪)


FileInput.clear(); <<- 加這行看看
FileInput.seekg((-nFilePos, ios::cur);

文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!