回 帖 发 新 帖 刷新版面

主题:版主快来!!文件问题!!

文件的读取问题
学号  姓名  C程序设计  高等数学   英语  线性代数  
1     王..      80         80        80     80       
2     张..      90         90        90     90 

这是TXT文件中的内容
数据怎么把它读进链表[em1]


求高手指教    

这个是学生管理系统的一部分

求大家帮助  [em16]

回复列表 (共4个回复)

沙发

fscanf

板凳

我知道用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 楼

fgets+sscanf好好查一查这两个函数
读取全部的信息
while(fgets(
{
    ...
    sscanf(fgets取得的缓冲区
    把sscanf取得的各个变量加入到链表
    ...
}

4 楼


你帮我看下上面我写的东西吧[em5]

看看错哪了



谢谢了哦

我来回复

您尚未登录,请登录后再回复。点此登录或注册