将“读取”行放回文件中

时间:2013-11-24 19:22:50

标签: c++

我想知道是否可以在文件中放入一行(如果已经读入)。 以下是我正在做的事情的样本:

string templine;
while(templine.at(0)!=">"){
getline(file,templine);
//do some stuff with string
}

所以基本上我想继续阅读文件,直到下一行的第一个字符是“>”。每个“>”之间的行数是不一致的。我正在阅读它的方式现在它会用“>”读取下一行但我不想实际对该行做任何事情,并希望“把它”放回文件中,以便我以后再读一遍。我在C ++ VS10工作

我的文件看起来像

“>”2013 11 24 //日期,必须放>在“”

1 2 3 4

5 6 7 8

“>”2013 11 25

1 2 3 4

“>”2013 11 26等...

1 个答案:

答案 0 :(得分:2)

你可以这样做:

while(file.peek() != '>'){
    std::getline(file,templine);
    //Do work
}

其中file是您的ifstream。这样,你就不会用>读取这一行。直到你需要它。