C ++ putback成员函数

时间:2016-06-15 16:42:48

标签: c++ member

我正在学习这本书"用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时,其中的数据并没有改变。我在这里缺少什么?

0 个答案:

没有答案