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

RAKsmart美国洛杉矶独立服务器 E3-1230 16GB内存 限时促销月$76

RAKsmart 商家我们应该较多的熟悉的,主营独立服务器和站群服务器业务。从去年开始有陆续的新增多个机房,包含韩国、日本、中国香港等。虽然他们家也有VPS主机,但是好像不是特别的重视,价格上特价的时候也是比较便宜的1.99美元月付(年中活动有促销)。不过他们的重点还是独立服务器,毕竟在这个产业中利润率较大。正如上面的Megalayer商家的美国服务器活动,这个同学有需要独立服务器,这里我一并整理...

Hostio€5/月KVM-2GB/25GB/5TB/荷兰机房

Hostio是一家成立于2006年的国外主机商,提供基于KVM架构的VPS主机,AMD EPYC CPU,NVMe硬盘,1-10Gbps带宽,最低月付5欧元起。商家采用自己的网络AS208258,宿主机采用2 x AMD Epyc 7452 32C/64T 2.3Ghz CPU,16*32GB内存,4个Samsung PM983 NVMe SSD,提供IPv4+IPv6。下面列出几款主机配置信息。...

HostYun 新上美国CN2 GIA VPS 月15元

HostYun 商家以前是玩具主机商,这两年好像发展还挺迅速的,有点在要做点事情的味道。在前面也有多次介绍到HostYun商家新增的多款机房方案,价格相对还是比较便宜的。到目前为止,我们可以看到商家提供的VPS主机包括KVM和XEN架构,数据中心可选日本、韩国、香港和美国的多个地区机房,电信双程CN2 GIA线路,香港和日本机房,均为国内直连线路。近期,HostYun上线低价版美国CN2 GIA ...

fread为你推荐
匹配函数计算机中的vlookup函数怎么使用cpu监控CPU检测软件有哪些 5款CPU检测工具介绍 (搜索引擎的概念7 什么是搜索引擎?如何在Internet上搜索图片和文字资料的?assemblyinfoasp.net这几个文件是干什么的?qq网络硬盘我QQ的网络硬盘怎么啦?数据统计分析表EXCEL怎么制作百分比数据分析表图assemblyinfocsgo很跟cs有什么区别棋牌论坛三个知名的游戏相关论坛,要求有网址的!labelforhtml中label是什么意思啊?监控插件观看远程监控时,提示需要一个插件来显示
域名停靠 免费试用vps kddi nerd 服务器cpu性能排行 网站挂马检测工具 卡巴斯基官方免费版 免费吧 免费phpmysql空间 网游服务器 linode支付宝 东莞服务器托管 黑科云 葫芦机 shuangcheng 美国主机 windowsserver2008r2 发证机构 西部数码主机 卡巴斯基免费版 更多