LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 768|回复: 4

关于从文件中读取数据

[复制链接]
发表于 2003-7-31 17:51:46 | 显示全部楼层 |阅读模式
FILE *fd;
fd = popen("ps", "r");
如何将fd指向的文件中的内容完全读入一个字符型数组?
给段代码好吗?
发表于 2003-7-31 22:19:19 | 显示全部楼层
FILE  *cardfile;
char  printfstring[13];
char  filesize[13];



if((cardfile=fopen(argv[1],"r"))==NULL){
        printf("can't open %s\n",argv[1]);
        exit(1);
   }
  else{
          fseek(cardfile,0,SEEK_SET);
          fread(filesize,13,1,cardfile);
          memcpy(printfstring,filesize,13);
         }
发表于 2003-7-31 22:35:12 | 显示全部楼层

回复: 关于从文件中读取数据

最初由 非飞 发表
FILE *fd;
fd = popen("ps", "r");
如何将fd指向的文件中的内容完全读入一个字符型数组?
给段代码好吗?


同学,一本只讲C语言的书里就有啊。
 楼主| 发表于 2003-8-1 02:28:52 | 显示全部楼层
lovetjl说的只能读取文件中的一块数据,读取的大小为13,我要一次完全读完整个文件到一个数组里呀
发表于 2003-8-1 10:18:37 | 显示全部楼层
要是想一次读取整个文件,只要把缓冲和读取字节数都设为文件长度就行了。

但是如果文件太大的话,这种尝试就会失败,所以还是建议分批读取,一次比如读4096个字节,读若干次,每次根据实际读取的字节数来判断是否读取完成。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表