我正在学习这本书"用c ++解决问题"当我遇到这个文字时: "请注意,putback会在输入流中放置一个字符,同时放置位置 输出流中的字符。放回输入的字符 使用成员函数putback的流不必是最后一个字符读取; 它可以是你想要的任何角色。如果你放回一个以外的角色 最后一个字符读取,输入文件中的文本不会被putback更改, 虽然您的程序的行为就像输入文件中的文本一样 。改变"
我实施了一个小程序,以确定这是否属实:
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream input;
ofstream output;
input.open("infile.dat");
output.open("outfile.dat");
char next;
input.get(next);
while (next!='a')
{
output.put(next);
input.get(next);
}
input.putback(next);
input.get(next);
output<<"haha"<<next;
input.close();
output.close();
return 0;
}
如果书籍正确,则应更改infile.dat中的文本。但是当我检查infile.dat时,其中的数据并没有改变。我在这里缺少什么?