freadfread函数
fread 时间:2021-06-07 阅读:(
)
c语言关于fread的用法具体是怎样的
简介
fread
功 能: 从一个流中读数据
函数原型: size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
参 数:
1.用于接收数据的地址(指针)(buffer)
2.单个元素的大小(size) :单位是字节而不是位,例如读取一个整型数就是2个字节
3.元素个数(count)
4.提供数据的文件指针(stream)
返回值:成功读取的元素个数
程序例
#include
int main(void)
{
FILE *stream;
char msg[] = "this is a test";
char buf[20];
if ((stream = fopen("DUMMY.FIL", "w+")) == NULL)
{
fprintf(stderr, "Cannot open output file.
");
return 1;
} /* write some data to the file */
fwrite(msg, strlen(msg)+1, 1, stream); /* seek to the beginning of the file */
fseek(stream, 0, SEEK_SET); /* read the data and display it */
fread(buf, strlen(msg)+1, 1,stream);
printf("%s
", buf);
fclose(stream);
return 0;
}fread、fwrite怎么使用?
(2).文件随机读写函数
int fread(void *ptr,int size,int nitems,FILE *stream);
int fwrite(void *ptr,int size,int nitems,FILE *stream);
fread()函数从流指针指定的文件中读取nitems个数据项,每个数据项的长度为size个字节,读取的nitems数据项存入由ptr指针指向的内存缓冲区中,在执行fread()函数时,文件指针随着读取的字节数而向后移动,最后移动结束的位置等于实际读出的字节数。
该函数执行结束后,将返回实际读出的数据项数,这个数据项数不一定等于设置的nitems,因为若文件中没有足够的数据项,或读中间出错,都会导致返回的数据项数少于设置的nitems。
当返回数不等于nitems时,可以用feof()或ferror()函数进行检查。
fwrite()函数从ptr指向的缓冲区中取出长度为size字节的nitems个数据项,写入到流指针stream指向的文件中,执行该操作后,文件指针将向后移动,移动的字节数等于写入文件的字节数目。
该函数操作完成后,也将返回写入的数据项数。
FILE *fp;
int x = 10, y;
fp = fopen("test.txt", "wr");
fwrite(&x ,sizeof(int), 1, fp);将x写入文件
fwrite((&x ,sizeof(int), 1, fp);将X的值读入到yC语言中fread,fwrite和fscanf,fprintf的区别,什么是格式化数据
fread:是读取数据
fwrite:是写入数据
1.函数功能
用来读写一个数据块。
2.一般调用形式
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
3.说明
(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。
对fwrite来说,是要输出数据的地址。
(2)size:要读写的字节数;
(3)count:要进行读写多少个size字节的数据项;
(4)fp:文件型指针。
注意:1 完成次写操(fwrite())作后必须关闭流(fclose());
2 完成一次读操作(fread())后,如果没有关闭流(fclose()),则指针(FILE * fp)自动向后移动前一次读写的长度,不关闭流继续下一次读操作则接着上次的输出继续输出;
3 fprintf() : 按格式输入到流,其原型是int fprintf(FILE *stream, const char *format[, argument, ...]);其用法和printf()相同,不过不是写到控制台,而是写到流罢了。
注意的是返回值为此次操作写入到文件的字节数。
如int c = fprintf(fp, "%s %s %d %f", str1,str2, a, b) ;str1:10字节;str2: 10字节;a:2字节;b:8字节,c为33,因为写入时不同的数据间自动加入一个空格。
4.fscanf 和 scanf 相似 :当能正常读入数据时, fscanf 返回读入数据的个数,否则返回 EOF 。
c语言中fread函数怎么用
如果你想把这8个字节当成一个数来读的话可以这样(在VC环境下)
__int64 a;
fread(&a,sizeof(__int64),1,fp);
如果你想分别读出这8个字节的话,可以这样:
char a[8];
fread(a,sizeof(char),8,fp);
希望对你有帮助
__int64也可以用来表示一个整数,只不过它能表示的范围比int类型的要大,int类型占4个字节,而这个__int64占8个字节。
如果你用的是编译器(像DEV-C等),那应该是long longfread函数
fread (void*buffer,size_tsize,size_tcount,FILE*stream) ;其中buffer用于接收数据的内存地址,大小至少是size*count字节;.size单个元素的大小,单位是字节;count元素的个数,每个元素是size字节;stream输入流
返回值:实际读取的元素个数.如果返回值与count不相同,则可能文件结尾或发生错误.
从ferror和feof获取错误信息或检测是否到达文件结尾.
例如:
#include <stdio.h>
#include <string.h>
int main(void)
{
FILE *stream;
char msg[] = "this is a test";
char buf[20];
if ( (stream = fopen("DUMMY.FIL", "w+")) == NULL) {
fprintf(stderr,"Cannot open output file.
");
return 0;
}
/* write some data to the file */
fwrite(msg, strlen(msg) + 1, 1, stream);
/* sizeof(char)=1 seek to the beginning of the file */
fseek(stream, 0, SEEK_SET);
/* read the data and display it */
fread(buf, strlen(msg) + 1, 1, stream);
printf("%s
", buf);
fclose(stream);
return 0;
}
关于HostDare服务商在之前的文章中有介绍过几次,算是比较老牌的服务商,但是商家背景财力不是特别雄厚,算是比较小众的个人服务商。目前主流提供CKVM和QKVM套餐。前者是电信CN2 GIA,不过库存储备也不是很足,这不九月份发布新的补货库存活动,有提供九折优惠CN2 GIA,以及六五折优惠QKVM普通线路方案。这次活动截止到9月30日,不清楚商家这次库存补货多少。比如 QKVM基础的五个方案都...
2021年9月中秋特惠优惠促销来源:数脉科技 编辑:数脉科技编辑部 发布时间:2021-09-11 03:31尊敬的新老客户:9月优惠促销信息如下,10Mbps、 30Mbps、 50Mbps、100Mbps香港优质或BGPN2、阿里云线路、华为云线路,满足多种项目需求!支持测试。全部线路首月五折起。数脉官网 https://my.shuhost.com/香港特价数脉阿里云华为云 10MbpsCN...
日前,国内知名主机服务商阿里云与国外资深服务器面板Plesk强强联合,推出 阿里云域名注册与备案、服务器ECS购买与登录使用 前言云服务器(Elastic 只需要确定cpu内存与带宽基本上就可以了,对于新手用户来说,我们在购买阿里云服务申请服务器与域名许多云服务商的云服务器配置是弹性的 三周学会小程序第三讲:服务 不过这个国外服务器有点慢,可以考虑国内的ngrokcc。 ngrokcc...
fread为你推荐
刘建平有个太极八卦紫砂壶,刘建平制,值多少钱?帮鉴定下GoldenDBGolden Handcuffs是什么意思?知识分享平台微信看到一些文章,可以分享到知识付费的平台吗?怎么操作呀?华为总裁女儿为啥姓孟任正非女儿为什么姓孟?腾讯汽车网可以了解汽车知识的权威网站大概有哪些awvawv格式是否等于MP4格式模式识别算法模式识别、神经网络、遗传算法、蚁群算法等等人工智能算法需要哪些数学知识?assemblyinfoLOL的 X、L、CS 是什么意思棋牌论坛三个知名的游戏相关论坛,要求有网址的!云计划什么是云查杀,云计算和云计划的关系?
香港主机租用 免费vps 韩国俄罗斯 国外服务器网站 web服务器架设软件 大容量存储 丹弗 网站挂马检测工具 世界测速 最好的qq空间 登陆空间 空间登入 网页提速 阿里云官方网站 服务器论坛 空间服务器 国外免费网盘 windowsserver2008 免费网站加速 winserver2008下载 更多