这个从txt文件导入数据的问题我已经弄了好几天了不行了,大神能不能帮忙看下
typedef struct student
{
float id;
char name[10];
float grade;
struct student*next;
}Student;
void Daoru()
{
Student*L,*Q,*s;
FILE*fp;
if ((fp=fopen("D:\\a.txt","r+"))==NULL)a里面的数据是fprintf输入的
{
printf("wrong\n");
exit(0);
}
L=Chushi();初始化,应该没问题。
Q=L;
int i=0;
while(feof(fp))
{
struct student
{
float id;
char name[10];
float grade;
}stu;
s=(Student*)malloc(sizeof(Student));
fseek(fp,i*(sizeof(stu)),0);
fread(&stu,sizeof(struct student),1,fp);就是这里,我要崩溃了
s->id=stu.id;
*s->name=*stu.name;
s->grade=stu.grade;
s->next=L->next;
L->next=s;
L=s;
i++;
}
Shuchu(Q);输出链表函数,这个好像没问题
fclose(fp);
}
最后运行的时候没有显示出错信息但是什么没显示
这是a.txt的数据1.000000,nimei,66.000000
后来我试了最基础的
void main()
{
FILE*fp;
printf("请输入要打开的文件路径和文件名\n");
if ((fp=fopen("D:\\a.txt","r+"))==NULL)
{
printf("wrong\n");
exit(0);
}
struct student
{
float id;
char name[10];
float grade;
};
struct student stu;
printf("id\tname\tgrade\n");
fscanf(fp,"%f,%s,%f\n",&stu.id,stu.name,&stu.grade);
printf("%f,%s,%f\n",stu.id,stu.name,stu.grade);
fclose(fp);
}
这个运行起来后有点像了,但是
后面多了0.0000是神马情况?