fread是一个函数。从一个文件流中读数据,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功返回 0。

函数原型

size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;

参 数

buffer
用于接收数据的内存地址
size
要读写的字节数,单位是字节
count
要进行读写多少个size字节的数据项,每个元素是size字节.
stream
输入流

返回值

实际读取的元素个数.如果返回值与count不相同,则可能文件结尾或发生错误.
从ferror和feof获取错误信息或检测是否到达文件结尾.
 
例子1
#include<stdio.h>
#include<string.h>
intmain(void)
{
  FILE* stream;
  charmsg[]="thisisatest";
  charbuf[20];
  if((stream=fopen("DUMMY.FIL","w+"))==NULL){
  fprintf(stderr,"Cannotopenoutputfile.\n");
  return0;
}
fwrite(msg,1,strlen(msg)+1,stream);
fseek(stream,0,SEEK_SET);
fread(buf,1,strlen(msg)+1,stream);
printf("%s\n",buf);
fclose(stream);
return0;
}
 
例子2
#include<stdio.h>
intmain(void)
{
  FILE* stream;
  charlist[30];
  inti,numread,numwritten;/*Openfileintextmode:*/
  if((stream=fopen("fread.out","w+t"))!=NULL)
  {
for(i=0;i<25;i++)
list[i]=(char)('z'-i); /*Write25characterstostream*/
numwritten=fwrite(list,sizeof(char),25,stream);
printf("Wrote%ditems\n",numwritten);
fclose(stream);
}
else
  printf("Problemopeningthefile\n");
 
if((stream=fopen("fread.out","r+t"))!=NULL)
{
numread=fread(list,sizeof(char),25,stream);
printf("Numberofitemsread=%d\n",numread);
printf("Contentsofbuffer=%.25s\n",list);
fclose(stream);
}
else
printf("Filecouldnotbeopened\n");
}

C fread的更多相关文章

  1. FILE文件流的中fopen、fread、fseek、fclose的使用

    FILE文件流用于对文件的快速操作,主要的操作函数有fopen.fseek.fread.fclose,在对文件结构比较清楚时使用这几个函数会比较快捷的得到文件中具体位置的数据,提取对我们有用的信息,满 ...

  2. stream_set_timeout (fread 造成了php程序timeout)

    最近在执行fread时候,php出现了 "Fatal error: Maximum execution time of 30 seconds " fread() :从文件指针 ha ...

  3. fopen函数和fread函数、fwrite函数

    fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const ...

  4. 那些年,坑死自己的事之fread/fwrite

    今天继续看牛人做过的东西,这个小程序并不大,加上相当多的注释行,才5000多行.这个小程序是在linux下实现的,之前自己也一直用vi来看并加以更加详细的注释,但是效率实在太低.于是将其转移到wind ...

  5. PHP读写大“二进制”文件,不必申请很大内存(fopen、fread、fwrite、fclose)

    <?php /** * 读写大二进制文件,不必申请很大内存 * 只有读取到内容才创建文件 * 保证目录可写 * * @param string $srcPath 源文件路径 * @param s ...

  6. Linux C 文件操作,系统调用 -- open()、read() 和 标准I/O库 -- fopen()、fread()

    函数汇总: open().write().read().close() fopen().fwrite().fread().fclose() 一.什么是文件 在讲述文件操作之前,我们首先要知道什么是文件 ...

  7. fopen,fread和fwrite

    在最近的编程练习和写东西的过程中,常常用到了fopen和fread两个函数来读取本地文件.之前使用这两个函数时,一直没有出现过什么问题.也是因为没有出现问题,对这两个函数的用法的一些细节没有很了解,所 ...

  8. Matlab中fread函数的高级使用方法及其帮助文档中容易引起歧义的地方

    参考资料:http://cn.mathworks.com/help/matlab/ref/fread.html 注意:参考资料针对的Matlab版本号R2015a,我使用的是R2013b. Matla ...

  9. 函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)

    函数fgets和fputs.fread和fwrite.fscanf和fprintf用法小结 字符串读写函数fgets和fputs 一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符 ...

随机推荐

  1. Windows 7安装解压版MySQL 5.6(不包含配置文件优化)

    到官网下载MySQL5.6 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html, 提供了 .exe版本 和 .zip解压版,因为我的操作系统是64位的 ...

  2. linux c 笔记-1

    指令帮助: man xxx_command man 2 xxx_command man 3 xxx_command eg. 打开文件的函数open, 如果不清楚传参,则 man open man 2 ...

  3. python 3.x urllib学习

    urllib.request import urllib.request as ur url='http://ie.icoa.cn' user_agent = 'Mozilla/4.0 (compat ...

  4. Unity3D 更新文件下载器

    使用说明: 1)远端更新服务器目录 Package |----list.txt |----a.bundle |----b.bundle 2)list.txt是更新列表文件 格式是 a.bundle|r ...

  5. 分享一些不错的sql语句

    1.说明:复制表(只复制结构,源表名:a   新表名:b)   (Access可用)  法一:select   *   into   b   from   a   where   1 <> ...

  6. java 深入技术二(Collection)

    1. java集合 存储和管理多个java对象 包括很多java类和接口 Collection List                              Set ArrayList  Lin ...

  7. springMVC 学习(一)

    本文主要介绍springmvc的框架原理,并通过一个入门程序展示环境搭建,配置以及部署调试. springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合 ...

  8. Asp.net中导出Excel文档(Gridview)

    主要思路,通过GridView来导出文档. 新建一个Aspx页面,页面创建GridView控件,后台绑定好数据源.然后load中直接打印即可导出 前台的GridView <asp:GridVie ...

  9. java中定时器的四种方法

    package com.lid; import java.util.Calendar; import java.util.Date; import java.util.Timer; import ja ...

  10. css样式思维导图