C++文件的读写
来源:百度知道 编辑:UC知道 时间:2024/05/06 00:58:37
例如一个txt文件:
//Class Human Resource Configuration File
BeginStudentInfo:
name:xc
Nomber:1
Sex:W
Age:22
TeamNo:1
Duty:Captain
StudentInfoEnd
BeginStudentInfo:
name:xixi
Nomber:2
Sex:W
Age:22
TeamNo:1
Duty:Teamer
StudentInfoEnd
我要读取其中每个学生的信息,
如我有个结构体Student,Student student1,student2
然后读取赋值如:
student1.name=xc
student1.Nomber=1
student1.Sex=W
student1.Age=22
student1.TeamNo=1
student1.Duty=Captain
student2就读入第二个学生的信息,请问我该怎么操作!
用C和VC的实现也可以! 但格式不可改变哈! 跪求!
//Class Human Resource Configuration File
BeginStudentInfo:
name:xc
Nomber:1
Sex:W
Age:22
TeamNo:1
Duty:Captain
StudentInfoEnd
BeginStudentInfo:
name:xixi
Nomber:2
Sex:W
Age:22
TeamNo:1
Duty:Teamer
StudentInfoEnd
我要读取其中每个学生的信息,
如我有个结构体Student,Student student1,student2
然后读取赋值如:
student1.name=xc
student1.Nomber=1
student1.Sex=W
student1.Age=22
student1.TeamNo=1
student1.Duty=Captain
student2就读入第二个学生的信息,请问我该怎么操作!
用C和VC的实现也可以! 但格式不可改变哈! 跪求!
把文件按行读取出来,再解析,以BeginStudentInfo为标识做为一个记录的开始
读文件按文本方式读取(r+t)
用C写了一个,看看。
#include<stdio.h>
#include<conio.h>
#define MaxStudent 100
#define MaxSize 1000
typedef struct student
{
char name[20];
int Nomber;
char Sex;
int Age;
int TeamNo;
char Duty[50];
}Student;
int main(int argc, char* argv[])
{
FILE *fp;
char *filename = "student.txt"; /*文件名*/
char buf[MaxSize];
int i,j;
Student student[MaxStudent];
if((fp=fopen(filename,"r+b"))==NULL)
{
return 0;
}
i=0;
memset(student,0,sizeof(student));