| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 461 人关注过本帖
标题:链表和文件!
只看楼主 加入收藏
王一南
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2010-11-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
链表和文件!
我不知道这为什么运行不出来结果啊,是想把文件里头的内容读到链表中!烦劳各位大侠帮助小弟,将不胜感激!

#include<stdio.h>
#include<stdlib.h>
#define  BUFSIZE 10
struct filetext{
 char buf[BUFSIZE];
 struct filetext *next;
};
struct filetext * readfile(struct filetext * head)
{
  struct filetext * p1 = (struct filetext *)malloc(sizeof(struct filetext));
  FILE * fp;
  struct filetext * p =head;
  if((fp=(fopen("filename","rt")))==NULL)
  {
    printf("open file failure");
    getchar();
    exit(1);
  }
  
  if(fread(p1->buf,BUFSIZE,1,fp)<1)
  {
   printf("read file failure");
   return head;  
  }
  fclose(fp);
  if(!head)//如果传进来的head是个空指针,那么新指针就作为头节点返回
  {
    p1->next = NULL;
    return p1;
  }
  while(p->next) p = p->next;
  p->next = p1;
  p1->next = NULL;
  return head;
}
main()
{
    struct filetext *p;
    struct filetext *readfile(p);
}
我不知道这为什么运行不出来结果啊,是想把文件里头的内容存储到
搜索更多相关主题的帖子: 不胜感激 
2011-07-01 11:12
无名可用
Rank: 4
等 级:业余侠客
帖 子:79
专家分:259
注 册:2010-7-27
收藏
得分:20 
加一个头文件<stdlib.h>, malloc()函数在该头文件中定义
将filename改为一个字符串,代表要读取的文件名,例如"E:\\123.txt"
这样编译就应该没问题了。

这段代码主要意思:打开文件,从文件中读取一定量的字符放入变量new->buf中,并将new返回
水平有限,还有什么问题你可以查一下msdn,那上面有关于C语言文件操作的详细解释和代码
2011-07-03 22:00
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>

#define  BUFSIZE 10

struct filetext
{
    char buf[BUFSIZE];
    struct filetext *next;
};

struct filetext * readfile(struct filetext * head)
{
    FILE * fp = NULL;
    struct filetext * p1 = (struct filetext *)malloc(sizeof(struct filetext));

    struct filetext * p =head;
    if((fp=(fopen("filename","rt")))==NULL)
    {
        printf("open file failure");
        getchar();
        exit(1);
    }

 
    if(fread(p1->buf,BUFSIZE,1,fp)<1)
    {
        printf("read file failure");
        return head; 
    }
    fclose(fp);
    if(!head)//如果传进来的head是个空指针,那么新指针就作为头节点返回
    {
        p1->next = NULL;
        return p1;
    }

    while(p->next) p = p->next;
    p->next = p1;
    p1->next = NULL;

    return head;
}

int main(void)
{
    struct filetext *p = NULL;
    p = readfile(p);
    p->buf[BUFSIZE-1] = 0;
    puts(p->buf);
    printf("\n");

    return 0;
}
//我不知道这为什么运行不出来结果啊,是想把文件里头的内容存储到 
图片附件: 游客没有浏览图片的权限,请 登录注册
   一个的情况可以读出来,  这里 字符串 的长度自己订制
2011-07-04 12:20
快速回复:链表和文件!
数据加载中...
 
   



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

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