主题:版主快来!!文件问题!!
ccmike98
[专家分:80] 发布于 2010-07-26 20:48:00
文件的读取问题
学号 姓名 C程序设计 高等数学 英语 线性代数
1 王.. 80 80 80 80
2 张.. 90 90 90 90
这是TXT文件中的内容
数据怎么把它读进链表[em1]
求高手指教
这个是学生管理系统的一部分
求大家帮助 [em16]
回复列表 (共4个回复)
沙发
强强 [专家分:4740] 发布于 2010-07-26 21:01:00
fscanf
板凳
ccmike98 [专家分:80] 发布于 2010-07-26 21:39:00
我知道用fscanf啊!![em1]
我试了很多都不行
你能具体点吗??
求你了,谢谢
#include<stdio.h>
#include<malloc.h>
#include<string.h>
struct student
{
int no;
char name[20];
int cpp;
int math1;
int english;
int math2;
float evg;
int rank;
struct student *next;
};
main()
{
struct student *p,*head,*last;
p=(struct student*) malloc(sizeof(struct student));
FILE *fp;
fp=fopen("d://c++6.0//t1.txt","r");
while(feof( fp ) !=1)
{
fscanf(fp,"%d%s%d%d%d%d",&p->no,p->name,&p->cpp,&p->math1,&p->english,&p->math2);
p->evg=(p->cpp+p->math1+p->english+p->math2)/4.0;
p->next=NULL;
last=p;
}
fclose(fp);
}
t1里的内容是
1 王.. 80 80 80 80
2 张.. 90 90 90 90
这样的
但好像while是无限循环的!!!!
不知道怎么回事!!!![em10]
3 楼
强强 [专家分:4740] 发布于 2010-07-26 21:49:00
fgets+sscanf好好查一查这两个函数
读取全部的信息
while(fgets(
{
...
sscanf(fgets取得的缓冲区
把sscanf取得的各个变量加入到链表
...
}
4 楼
ccmike98 [专家分:80] 发布于 2010-07-26 21:52:00
你帮我看下上面我写的东西吧[em5]
看看错哪了
谢谢了哦
我来回复