标题:求解,怎么把文本数据读取到链表,
只看楼主
a120750
Rank: 4
等 级:业余侠客
威 望:1
帖 子:63
专家分:243
注 册:2016-3-13
结帖率:100%
已结贴  问题点数:20 回复次数:4 
求解,怎么把文本数据读取到链表,
改了好久。还是读取不了。
求帮忙改改。。谢谢


# define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include <windows.h>

struct Book
{
    int num;    //保存的编号
    char bname[50];    //保存书名
    char writer[20];    //作者名
    char press[50];        //出版社
    char time[20];    //出版时间
    float price;
    struct Book * pNext;

};

book * download()
{
    FILE *fp;

    book *head, *p1;
    head = NULL;
    if ((fp = fopen("图书.txt", "a")) == NULL)
    {
        printf("File open error!\n");
        system("pause");
        exit(0);
    }
    while (!feof(fp))
    {
        p1 = (book *)malloc(sizeof(book));
        fscanf(fp, "%d %s %s %s %s %f\n", &p1->num, p1->bname, p1->writer, p1->press, p1->time, &p1->price);
        if (head == NULL)
        {
            head = p1;
        }
        p1 = p1->pNext;
    }
    fclose(fp);
    return head;
}



[此贴子已经被作者于2016-3-13 14:57编辑过]

搜索更多相关主题的帖子: download include 出版社 price 
2016-03-13 14:42
a120750
Rank: 4
等 级:业余侠客
威 望:1
帖 子:63
专家分:243
注 册:2016-3-13
得分:0 
求教。。在线等
2016-03-13 15:31
jklqwe111
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:35
帖 子:335
专家分:1125
注 册:2014-4-13
得分:10 
你的文件是怎么做的
2016-03-13 16:49
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
得分:10 
struct Book
{
    int num;    //保存的编号
    char bname[50];    //保存书名
    char writer[20];    //作者名
    char press[50];        //出版社
    char time[20];    //出版时间
    float price;
    struct Book * pNext;
};
book * download()  /*B要大写*/
{
    FILE *fp;
    book *head, *p1,*p2;
    p2 = NULL;
    head=p2;
    if ((fp = fopen("图书.txt", "a")) == NULL)
    {
        printf("File open error!\n");
        system("pause");
        exit(0);
    }
    while (!feof(fp))
    {
        p1 = (book *)malloc(sizeof(book));  /*B都要大写*/
        fscanf(fp, "%d %s %s %s %s %f\n", &p1->num, p1->bname, p1->writer, p1->press, p1->time, &p1->price);
        p2->pNext=p1;
        if (head == NULL)
            head=p2;
        p2=p1;   /*节点后移*/
        p1->pNext=NULL;
    }
    fclose(fp);
    return head;
}

未佩好剑,转身便已是江湖
2016-03-13 20:31
a120750
Rank: 4
等 级:业余侠客
威 望:1
帖 子:63
专家分:243
注 册:2016-3-13
得分:0 
回复 4楼 alice_usnet
谢谢。以后的Book会大写的。。昨天研究好了。
2016-03-14 10:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-462439-1-1.html




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

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