注册 登录
编程论坛 C++教室

C++中如何用链表写文本文档然后存入文件中

初学计算机 发布于 2013-03-05 10:28, 348 次点击
class goods//商品类
{
public:
    goods(){name[20]='\0';price=0;n1=0;n2=0;}//构造函数
    ~goods(){ }//析构函数
    void setn(char *n)
    {
        strcpy(name,n);
    }//设置属性
    void setp(float p)
    {
        price=p;
    }//设置价格
    void setn1(int n1)
    {
        this->n1=n1;
    }
    void setn2(int n2)
    {
        this->n2=n2;
    }
    char * getn()
    {
        return (char *)name;
    } //得到属性
    float getp()
    {
        return price;
    };
    int getn1()
    {
        return n1;
    }
    int getn2()
    {
        return n2;
    }      
   
    goods * getnext();//得到next指针值
    void setnext(goods *next);//设置next指针值
   
private:
    char    name[20];//商品名称
    float price;//价格
    int     n1;//总件数
    int     n2;//已卖出
    goods *next;//指向下一个商品对象
};
goods* goods::getnext()
{
    return next;
}
void goods::setnext(goods * next)
{
    this->next=next;
}


然后如何对文件进行操作,我写出来后在DOS下面可以显示出原本的信息,但是找到文件打开之后就会出现乱码,请教大神如何存入文本信息。
2 回复
#2
yuccn2013-03-05 12:12
是不可能吧整条链表一起保存到文件的,一般都是吧链表的节点内容保存安装顺序保存到文件,读取的时候是按顺序吧信息读取出来,在组装成一个链表。

如果你写入和读取出来的格式保持平衡,是不会出现乱码的。
#3
初学计算机2013-03-06 13:29
回复 2楼 yuccn
我用的是read和write进行读写的,但是我看书上说read和write是对二进制进行操作的,所以现在不知道怎么弄了!
1