我想知道是否可以在文件中放入一行(如果已经读入)。 以下是我正在做的事情的样本:
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等...
答案 0 :(得分:2)
你可以这样做:
while(file.peek() != '>'){
std::getline(file,templine);
//Do work
}
其中file是您的ifstream
。这样,你就不会用>读取这一行。直到你需要它。