| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 510 人关注过本帖, 1 人收藏
标题:读取文件数据并赋予链表
取消只看楼主 加入收藏
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
结帖率:84.21%
收藏(1)
已结贴  问题点数:20 回复次数:2 
读取文件数据并赋予链表
我想把txt文件中的数据附到链表当中,以便进行编辑运算,可是赋值那块总有问题,实在是不知道该怎么去赋,运行总是中断
程序代码:
#include<stdio.h>
#include<malloc.h> 
#define LEN sizeof(struct student)
struct student
{
    int no;
    long num;
    char *name;
    char *x_b;
    float score;
    struct student *next;
};
int n;
void main()
{
    FILE *fp;
    struct student *head;
    struct student *p1;
    struct student *p2;
    char ch;
    n=0;
    p1=(struct student*)calloc(52,LEN);
    if((fp=fopen("1.txt","r"))==NULL)
    {
        printf("不能打开文件1.txt");
        exit(0);
    }
    ch=fgetc(fp);
    while(ch!='\n') /*输出第一行,第一行为表头,单独输出来,让指针指向第一个数据*/
    {
        putchar(ch);
        ch=fgetc(fp);
    }
    putchar('\n');
    while(!feof(fp)) /*给链表赋值。。。就这有问题。。。*/
    {
        fscanf(fp,"%d%ld%s%s%f",&p1->no,&p1->num,p1->name,p1->x_b,&p1->score);
        n=n+1;              
        if(n==1)
        head=p1;
        else p2->next=p1;
        p2=p1;
          p1=p1->next;
    }
    fclose(fp);
}


[ 本帖最后由 核晴核理 于 2012-9-13 08:58 编辑 ]
搜索更多相关主题的帖子: 编辑 
2012-09-12 19:42
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
收藏
得分:0 
回复 2楼 遗矢的老人
ch定义了,代码黏上来时候很多定义的没用到的变量,删除的时候连ch一块删掉了。。。ch!='\n'这个试过了,没有问题,一行末尾有个\n字符,我的想法是把那些字符型的数据先赋到链表里,然后再转换类型,这样是不是绕弯了,我得在看看,不过那些是后话,首先我这样赋值就运行不下去呀,很郁闷
2012-09-13 09:04
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
收藏
得分:0 
回复 3楼
谢版主,是得总结总结了

[ 本帖最后由 核晴核理 于 2012-9-13 09:19 编辑 ]
2012-09-13 09:05
快速回复:读取文件数据并赋予链表
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016460 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved