fread函数详解

函数原型:
size_t   fread(   void   *buffer,   size_t   size,   size_t   count,   FILE   *stream   ) 
  buffer   是读取的数据存放的内存的指针(可以是数组,也可以是新开辟的空间,buffer就是一个索引)   
  size       是每次读取的字节数  
 
  count     是读取次数  
  strean   是要读取的文件的指针  
  例如   从文件fp里读取100个字节   可用以下语句  
  fread(buffer,100,1,fp)  
  fread(buffer,50,2,fp)  
  fread(buffer,1,100,fp)   
**************************************************************************************    
对读出的二进制流是不能用strlen()或者sizeof()求其长度和大小的。
**************************************************************************************
fread可以读二进制文件,有时用字符方式去读文件不能读完整个文件,但是二进制方式就可以 。
这就是因为字符方式用特定的标记结尾的,读取时只要碰到该标记就自动结束

函数fread()读取[num]个对象(每个对象大小为size(大小)指定的字节数),并把它们替换到由buffer(缓冲区)指定的数组. 数据来自给出的输入流. 函数的返回值是读取的内容数量...

使用feof()或ferror()判断到底发生哪个错误.

上一段代码:

void HelpMassage()
{
FILE *fp;
int size = ;
char *ar ; //二进制方式打开文件
fp = fopen("lining.txt","rb");
if(NULL == fp)
{
printf("Error:Open input.c file fail!\n");
return;
} //求得文件的大小
fseek(fp, , SEEK_END);
size = ftell(fp);
rewind(fp); //申请一块能装下整个文件的空间
ar = (char*)malloc(sizeof(char)*size); //读文件
fread(ar,,size,fp);//每次读一个,共读size次 printf("%s",ar);
fclose(fp);
free(ar); printf("按任意键继续");
getchar();
getchar();
}
原文地址:https://www.cnblogs.com/melons/p/5791874.html

转载_fread函数详解的更多相关文章

  1. malloc 与 free函数详解<转载>

    malloc和free函数详解   本文介绍malloc和free函数的内容. 在C中,对内存的管理是相当重要.下面开始介绍这两个函数: 一.malloc()和free()的基本概念以及基本用法: 1 ...

  2. 【转载】jQuery.extend 函数详解

    转载自:http://www.cnblogs.com/RascallySnake/archive/2010/05/07/1729563.html jQuery.extend 函数详解 JQuery的e ...

  3. kzalloc 函数详解(转载)

    用kzalloc申请内存的时候, 效果等同于先是用 kmalloc() 申请空间 , 然后用 memset() 来初始化 ,所有申请的元素都被初始化为 0. view plain /** * kzal ...

  4. 【转载】3D/2D中的D3DXMatrixPerspectiveFovLH和D3DXMatrixOrthoLH投影函数详解

    原文:3D/2D中的D3DXMatrixPerspectiveFovLH和D3DXMatrixOrthoLH投影函数详解 3D中z值会影响屏幕坐标系到世界坐标系之间的转换,2D中Z值不会产生影响(而只 ...

  5. 【转载】C语言itoa()函数和atoi()函数详解(整数转字符C实现)

    本文转自: C语言itoa()函数和atoi()函数详解(整数转字符C实现) 介绍 C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串. int/float to ...

  6. Linux中fork()函数详解(转载)

    linux中fork()函数详解 一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事, ...

  7. memset函数详解

    语言中memset函数详解(2011-11-16 21:11:02)转载▼标签: 杂谈 分类: 工具相关  功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大 ...

  8. fork()函数详解

    linux中fork()函数详解(原创!!实例讲解) (转载)    一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程 ...

  9. C++ 虚函数详解

    C++ 虚函数详解 这篇文章主要是转载的http://blog.csdn.net/haoel/article/details/1948051这篇文章,其中又加入了自己的理解和难点以及疑问的解决过程,对 ...

随机推荐

  1. MQ异步同步搜索引擎ElasticSearch数据踩坑

    业务背景 在大型网站中,为了减少DB压力.让数据更精准.速度更快,将读拆分出来采用搜索引擎来为DB分担读的压力,ElasticSearch就是目前市面上比较流行的搜索引擎,他的检索速度奇快.支持各种复 ...

  2. 三天精通Vue--ES6的常用语法

    详细学习请参考  阮一峰的ECMAScript 6 入门 let和const的使⽤ es5中使用var来声明全局变量 es5中我们学习了使用var来声明变量,但是使用var声明变量,会存在变量提升的问 ...

  3. eclipse Referenced file contains errors (http://www.springframework.org/schema/context/spring-context-3.0.xsd)

        1.情景展示 spring配置文件报错信息如下: Referenced file contains errors (http://www.springframework.org/schema/ ...

  4. 缓存穿透 & 缓存击穿 & 缓存雪崩

    参考文档: 缓存穿透和缓存失效的预防和解决:https://blog.csdn.net/qq_16681169/article/details/75138876 缓存穿透 缓存穿透是指查询一个一定不存 ...

  5. .net core 运行不需命令行

    1.问题情景: 需要保证已安装.net core SDK,并且命令提示符下运行“dotnet --version”,有反应. 如果之前运行良好,现在却不行了,查看安装程序中存在.net core SD ...

  6. Spring Cloud Zuul 精进

    接着上一篇继续讲Zuul,上一篇搭建了Zuul的环境简单说明了怎么使用,本篇查缺补漏将一些常用的配置贴出来.文末我们会一起分析一下Zuul的源码,升华一下本篇的格调! 忽略所有微服务或某些微服务 默认 ...

  7. C# 文件搬运(从一个文件夹Copy至另一个文件夹)

    时常我们会遇到文件的复制.上传等问题.特别是自动化生产方面,需要对机台抛出的档案进行搬运.收集,然后对资料里的数据等进行分析,等等. Winform下,列举集中较常见的档案的搬运. 1 private ...

  8. Spring JDBC最佳实践(3)

    原文地址:https://my.oschina.net/u/218421/blog/38598 spring jdbc包提供了JdbcTemplate和它的两个兄弟SimpleJdbcTemplate ...

  9. Csp-s2019 划分

    本题主要靠结论 12pt 爆搜 时间复杂度\(O(n^n)\) 36pt \(f_{i,j}表示前i个数由状态j转移过来,a_i表示前缀和\) \(So,f_{i,j}=f_{j,k}+(a_i-a_ ...

  10. Prometheus部署各服务的Node监控

    1.部署监控主机 部署主机监控,需要安装node_exporter 1.1 下载node exporter wget https://github.com/prometheus/node_export ...