fread函数_fread读取数据到数组

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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();
}

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 使用Ahk2Exe工具将AutoHotKey脚本打包到Windows可执行文件

    使用Ahk2Exe工具将AutoHotKey脚本打包到Windows可执行文件写在前面的两点说明:1、我的操作系统版本为Win7,AutoHotKey版本为1.1.23.05。2、因AutoHotKey单词太长,所以在下文中统一用缩写AHK代替。方法一:通过Windows上下文菜单快速创建EXE文件用鼠标右键单击ahk文件,在弹出的上下文菜单中点击“C…

  • lede旁路由设置方法

    lede旁路由设置方法lede固件号:2.361.把网络–>接口里面wan口删除2.推荐新建lan口,把原来的lan停用3.新lan口配置:静态地址ipv4地址:主路由地址ipv4子网掩码:255.255.255.0ipv4网关:主路由地址使用自定义的DNS服务器:主路由地址关闭DHCP如果出现访问国内网站巨慢,慢到离谱那种请在旁路由执行以下代码iptables-tnat-IPOSTROUTING-jMASQUERADE并在网络—>防火墙中勾选丢弃无用数据包…

  • Python文件名后缀_python获取目录下所有文件的文件名

    Python文件名后缀_python获取目录下所有文件的文件名method使用os.path.splitext(file)[1]可获得以.开头的文件后缀名。codeimportosfile="Hello.py"assertos.path.splitext(file)[1]==".py"assertos.path.splitext(file)[1][1:]=="py"

  • SQLSERVER 存储过程 语法

    SQLSERVER 存储过程 语法SQLSERVER存儲過程的寫法格式規格CodehighlightingproducedbyActiproCodeHighlighter(freeware)http://www.CodeHighlighter.com/–>******************************************************** author:Susan*** date:

  • 目标检测——SPPNet【含全网最全翻译】「建议收藏」

    目标检测——SPPNet【含全网最全翻译】「建议收藏」文章目录0.摘要1.简介2.基于空间金字塔池化的深度网络2.1卷积层和特征图2.2空间金字塔池化层2.3网络的训练2.3.1单一尺寸训练2.3.2多尺寸训练3.用于图像分类的SPP-NET3.1ImageNet2012分类实验3.1.1基准网络架构3.1.2多层次池化提升准确度3.1.3多尺寸训练提升准确度3.1.4全图像表示提升准确度3.1.5特征图上的多视图测试…

发表回复

您的电子邮箱地址不会被公开。

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