这是代码:
fstream ioF; int i = 0; string line;
ioF.open("test.txt");
while(getline(ioF,line)) cout << ++i << ": " << line << endl;
cout << i << endl;
ioF.close();
ioF.open("test.txt");
i = 0;
while(getline(ioF,line))
if(++i == 3){
ioF << "*";
}
ioF.close();
ioF.open("test.txt");
i = 0;
while(getline(ioF,line)) cout << ++i << ": " << line << endl;
cout << i << endl;
ioF.close();
我的文件开头包含以下内容:
第一行
第二行
第三行
第四行
第五行
第六行
这些是在第二次执行开始时一次删除第4至6行的输出(每个块是一个执行):
1:第一行
2:第二行
3:第三行
4:第四行
5:第五行
6:第六行
6
1:第一行
2:第二行
3:第三行
4:四个人
5:第五行
6:第六行
6
1:第一行
2:第二行
3:第三行
4:第五行
5:第六行
5
1:第一行
2:第二行
3:第三行
4:五个五个
5:第六行
5
1:第一行
2:第二行
3:第三行
4:第六行
4
1:第一行
2:第二行
3:第三行
4:*六分
4
1:第一行
2:第二行
3:第三行
3
1:第一行
2:第二行
3:第三行
3
我不明白为什么光标会这样,为什么在最后一次执行时文件流不会将*
打印到文件。有人可以解释吗?
非常感谢您!