如何使用ifstream将任何自定义数据类型写入文件?

时间:2010-05-02 08:59:30

标签: c++ iostream fstream inserter

正如问题所说,我想在c ++中使用ifstream将类的自定义数据类型数据写入文件。需要帮助。

1 个答案:

答案 0 :(得分:7)

对于一个任意的类,比如Point,这是一个相当干净的方法将它写出来给ostream。

#include <iostream>

class Point
{
public:
    Point(int x, int y) : x_(x), y_(y) { }

    std::ostream& write(std::ostream& os) const
    {
        return os << "[" << x_ << ", " << y << "]";
    }

private:
    int x_, y_;

};

std::ostream& operator<<(std::ostream& os, const Point& point)
{
    return point.write(os);
}

int main() {
    Point point(20, 30);
    std::cout << "point = " << point << "\n";
}