问题:构建了一个结构体student,希望能从.txt文件中读取出多行数据保存在 结构体指针 内,使用fscanf实现。思路如下:请各位高手,指点一下错误的地方
typedef struct student{
char name[20]; //姓名
int age; //年龄
char class; //班级
struct student *next; //单向的链表
}stu_t,*pstu_t;
- 我声明了一个结构体指针,现在.txt文本以及有了5行数据
- 系统通过将数据读取到一个指针,然后继续下个指针,不停地保存的方式来接收数据
pstu_t stu;
初始化
读取数据的代码
FILE *fp=fopen("stu.txt","r");
if(fp==NULL){
perror("读取文件失败");
exit(1);
}
while(stu!=NULL){
if((fscanf(fp,"%s%d%s",stu->name,&stu->age,stu->class))){
//只要不是文件末尾EOF就打印测试一下
printf("%s\t%d\t%s",stu->name,stu->age,stu->class);
}
stu = stu->next;
}
在ubuntu下操作的,不知道是哪部分出了问题。
文本文件 stu.txt
bek 23 三年二班
sdk 23 四年八班
sa 23 五年1班
d 21 六年3班
ds 23 一年1班
这方面的知识不够牢固,希望大神们稍微讲解一下,指点一下错误。感谢感谢