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的值读入到y

C语言中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 long

fread函数

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

Webhosting24:$1.48/月起,日本东京NTT直连/AMD Ryzen 高性能VPS/美国洛杉矶5950X平台大流量VPS/1Gbps端口/

Webhosting24宣布自7月1日起开始对日本机房的VPS进行NVMe和流量大升级,几乎是翻倍了硬盘和流量,价格依旧不变。目前来看,日本VPS国内过去走的是NTT直连,服务器托管机房应该是CDN77*(也就是datapacket.com),加上高性能平台(AMD Ryzen 9 3900X+NVMe),还是有相当大的性价比的。此外在6月30日,又新增了洛杉矶机房,CPU为AMD Ryzen 9...

统计一下racknerd正在卖的超便宜VPS,值得推荐的便宜美国VPS

racknerd从成立到现在发展是相当迅速,用最低的价格霸占了大部分低端便宜vps市场,虽然VPS价格便宜,但是VPS的质量和服务一点儿都不拉跨,服务器稳定、性能给力,尤其是售后方面时间短技术解决能力强,估计这也是racknerd这个品牌能如此成功的原因吧! 官方网站:https://www.racknerd.com 多种加密数字货币、信用卡、PayPal、支付宝、银联、webmoney,可...

Boomer.host:$4.95/年-512MB/5GB/500GB/德克萨斯州(休斯顿)

部落曾经在去年分享过一次Boomer.host的信息,商家自述始于2018年,提供基于OpenVZ架构的VPS主机,配置不高价格较低。最近,主机商又在LET发了几款特价年付主机促销,最低每年仅4.95美元起,有独立IPv4+IPv6,开设在德克萨斯州休斯顿机房。下面列出几款VPS主机配置信息。CPU:1core内存:512MB硬盘:5G SSD流量:500GB/500Mbps架构:KVMIP/面板...

fread为你推荐
jmh6.13 泗洪事件是怎么个情况、?林俊杰怎么了?李智慧李智慧和李东健的电影有哪些?iso20000认证ISO20000认证视频压缩算法视频压缩原理企业资源管理系统企业人力资源管理系统的重要性?y码男生衣服M L XL分别是什么码?y码衣服的尺码标识,3xL xL xxL都代表的什么意思?模式识别算法算法是编程么?考研学模式识别方向,编程多么?assemblyinfoCSE和CS有什么区别云计划云计划创富平台有谁了解啊 是骗人的吗?
华众虚拟主机管理系统 美国域名注册 美国linux主机 免费vps ubuntu更新源 好看的桌面背景图 北京主机 小米数据库 泉州移动 什么是服务器托管 33456 上海联通宽带测速 江苏双线服务器 最漂亮的qq空间 东莞idc 台湾google www789 smtp服务器地址 百度云空间 域名转入 更多