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

一个小函数,就是从文件里面读取的数据不是原来的数据,请各位大侠们看看,很短的。

书生小白 发布于 2011-06-18 23:58, 474 次点击
void student::readdate()//从文件读取数据
{
    class student *p1, *p2;
    ifstream infile("f1.txt",ios::in);
    if (!infile)
    {
        cout<<"文件打开错误!";
        return ;
    }
    infile>>totall_num;
    head=p1=p2=new class student;
    infile>>p1->num;
    infile>>p1->name;
    infile>>p1->birthday;
    infile>>p1->age;
    infile>>p1->dizhi;
    infile>>p1->dianhua;
    infile>>p1->youbian;
    infile>>p1->E_mail;
    while(infile!=0)
    {
        
        p1=new class student;
        infile>>p1->num;
        infile>>p1->name;
        infile>>p1->birthday;
        infile>>p1->age;
        infile>>p1->dizhi;
        infile>>p1->dianhua;
        infile>>p1->youbian;
        infile>>p1->E_mail;
        p2->next=p1;
        p2 = p1;
    }
    p2->next=NULL;
    infile.close();
    totall_num=i;
   
   
}
2 回复
#2
try_catch2011-06-21 06:15
你在student object 的一个方程里面创建新的student object?

head=p1=p2=new class student;
这行每看懂。。

其实整体的结构。。也没看明白

你先测一下打印文件内容把。。用www.的例子

ifstream infile ( "f1.txt" , ifstream::in );
  while (infile.good())
    std::cout << (char) infile.get() << std::endl;
  infile.close();

debug程序的时候,应该尽量分步调,你这个地方一个步骤是读文件内容,另一个步骤是存文件内容,用上面的代码测读文件内容有没有问题,再考虑是不是存的时候出现的问题
#3
jbd05132011-06-24 16:54
路过,顶一下
1