小编Nik*_*hev的帖子

c ++从/到二进制文件读/写类

我需要将一个类写入一个二进制文件,然后我需要读取它。

我有TriangleBinaryFile班级,还有一些其他班级。我不确定我是写错了还是读错了。读取时出现错误。调试后,我认为它为我的私有变量获取了不适当的数据。如果有人能给我一些有关如何使其正常工作的建议,我将非常高兴。

我不确定是否应该粘贴整个代码,所以我会给你一小段代码。以防万一,这里是我的源代码的下载链接:

https://my.pcloud.com/publink/show?code=XZJ7CYZbsLWLglqV5p83csijcEUTFqqpM3k

我是编程新手,我的英语不太好,所以我提前为我的错误道歉。

class Point
{
private:
    int x;
    int y;
};

class Figure
{
private:
    string name;
    string type;
};

class Triangle: public Figure
{
private:
    Point p1, p2, p3;
};

class BinaryFile
{
private:
    string FileName;
    fstream File;
public:
    //...
    void AddNewFigure(istream& stream)
    {       
        File.open(this->FileName, ios::binary | ios::app);
        if(!this->File)
        {
            cerr<<"File error <"<<this->FileName<<">\n";
            exit(1);
        }
        Triangle fig;
        fig.MakeNewFigure(stream);
        File.write((char*)&fig, sizeof(Triangle));
        File.close();
    }

    Triangle GetTriangle()
    {
        Triangle trig;
        Point p;
        string str(""); int …
Run Code Online (Sandbox Code Playgroud)

c++ serialization binaryfiles

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

binaryfiles ×1

c++ ×1

serialization ×1