fread函数_fread读取数据到数组

fread函数_fread读取数据到数组详解fread函数


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

函数原型:
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 = 0;
	char *ar ;

	//二进制方式打开文件
	fp = fopen("lining.txt","rb");
	if(NULL == fp)
	{
		printf("Error:Open input.c file fail!\n");
		return;
	}

	//求得文件的大小
	fseek(fp, 0, SEEK_END);
	size = ftell(fp);
	rewind(fp);

	//申请一块能装下整个文件的空间
	ar = (char*)malloc(sizeof(char)*size);

	//读文件
	fread(ar,1,size,fp);//每次读一个,共读size次

	printf("%s",ar);
	fclose(fp);
	free(ar);

	printf("按任意键继续");
	getchar();
	getchar();
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194275.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 基于STC89C52的自动循迹小车项目

    基于STC89C52的自动循迹小车项目摘要:本文根据对目标金属物的非接触式探测定位和移动的具体要求,以STC89C52RC单片机为控制核心,结合驱动模块、三个电感模块(LDC1000电感数字传感器)、测速模块和显示模块,设计并实现了一种自动循迹小车。该小车能在规定的具有0.6-0.9mm细铁丝标识的平面跑道上自动循迹前进,且在行进过程中能够检测到硬币并报警,同时小车的运行时间、距离等信息可在显示屏上实时显示。经过多次测试表明,该循迹小…

    2022年6月7日
  • 用浏览器怎样监控网页内容变化

    用浏览器怎样监控网页内容变化随着互联网的发展,一般单位或企业都通过网站对外发布动态消息;各种管理软件、saas系统也通过web页面实现订单管理、工单派遣等。如何在第一时间接收消息或工单提醒,就需要实时刷新监控页面内容变化。…

    2022年7月17日
  • java运行时异常和非运行时异常区别_常用的运行时异常

    java运行时异常和非运行时异常区别_常用的运行时异常1.Java异常机制Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。Java中的异常分为两大类:错误Error和异常Exception,Java异常体系结构如下图所示:图片来源:http://blog.csdn.net/wuwenxiang91322/article/details/103463372.Throwab

    2022年9月30日
  • veridata实验例(3)验证veridata发现insert操作不会导致同步

    veridata实验例(3)验证veridata发现insert操作不会导致同步

    2022年1月17日
  • debian源代码_debian10软件源

    debian源代码_debian10软件源debhttp://security.debian.org/squeeze/updatesmaindeb-srchttp://security.debian.org/squeeze/updatesmaindebhttp://mirrors.163.com

    2022年10月19日
  • 基于灰度共生矩阵的纹理特征提取_灰度共生矩阵计算图解

    基于灰度共生矩阵的纹理特征提取_灰度共生矩阵计算图解最近在研究机器学习相关内容,后面会尽量花时间整理成一个系列的博客,然后朋友让我帮他实现一种基于SVR支持向量回归的图像质量评价方法,然而在文章的开头竟然发现灰度共生矩阵这个陌生的家伙,于是便有此文。主要参考博客1:http://blog.csdn.net/jialeheyeshu/article/details/51337225主要参考博客2:http://blog.csdn….

    2022年10月22日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号