c++ 如何将结构链表写入文件和读取到内存?

以下是我得结构:
struct student
{
char name[20];//姓名
char number[20];//学号
char sex[10];//性别
double p;//物理成绩
double e;//英语成绩
double m;//数学成绩
double g;//计算机导论成绩
double c;//c程序设计
double a;//总分
double aver;//平均分
student* next;//链表指针
student()
{
next=NULL;
}

void disply()//显示学生信息
{
cout<<"---------------------------"<<endl;
cout<<"1学生姓名:"<<name<<endl;
cout<<"2学生学号:"<<number<<endl;
cout<<"3学生性别:"<<sex<<endl;
cout<<"总分: "<<a<<endl;
cout<<"平均分: "<<aver<<endl;
cout<<"4物理成绩:"<<p<<endl;
cout<<"5数学成绩:"<<m<<endl;
cout<<"6英语成绩:"<<e<<endl;
cout<<"7C程序成绩:"<<c<<endl;
cout<<"8计算机导轮成绩:"<<g<<endl;
cout<<"---------------------------"<<endl;
}
};
求给个写入和读取的代码。万分感谢!

第1个回答  2013-06-22

#include <iostream>
#include <fstream>
#include <Windows.h>
#pragma comment(lib,"winmm.lib")
using namespace std;

void main()
{
 //输出到文本
 ofstream readInfo;
  readInfo.open("read.txt");//打开
  readInfo<<"[weiOne]"<<endl;//输出
 readInfo<<"你好"<<endl;//输出
 readInfo.close();//关闭
 
 //从本文读入信息
 int row = 0;
 const int col = 128;
 ifstream readStr;
 char readBuffer[128][col] = {0};
 readStr.open("read.txt");//打开
 if(readStr.is_open())
 {
  for(;;)
  {
   if(!readStr.eof())//判断是否结尾,如果不是最后一行就返回false
    readStr.getline(readBuffer[row],128);//读取这一行的内容放到字符数组里面
   else
    break;
   cout<<readBuffer[row]<<endl;//输出这一行的内容
   row++;//行号++
  }
 }
 readStr.close();  //关闭
 system("pause");
}  

先创建一个文本

从程序写入文本的信息

从文本中获取的信息

相似回答