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

Hostodo商家提供两年大流量美国VPS主机 可选拉斯维加斯和迈阿密

Hostodo商家算是一个比较小众且运营比较久的服务商,而且还是率先硬盘更换成NVMe阵列的,目前有提供拉斯维加斯和迈阿密两个机房。看到商家这两年的促销套餐方案变化还是比较大的,每个月一般有这么两次的促销方案推送,可见商家也在想着提高一些客户量。毕竟即便再老的服务商,你不走出来让大家知道,迟早会落寞。目前,Hostodo有提供两款大流量的VPS主机促销,机房可选拉斯维加斯和迈阿密两个数据中心,且都...

vpsdime:VPS内存/2核/VPS,4G内存/2核/50gSSD/2T流量/达拉斯机房达拉斯机房,新产品系列-Windows VPS

vpsdime上了新产品系列-Windows VPS,配置依旧很高但是价格依旧是走低端线路。或许vpsdime的母公司Nodisto IT想把核心产品集中到vpsdime上吧,当然这只是站长个人的猜测,毕竟winity.io也是专业卖Windows vps的,而且也是他们自己的品牌。vpsdime是一家新上来不久的奇葩VPS提供商,实际是和backupspy以及crowncloud等都是同一家公司...

RAKsmart新年钜惠:E3服务器秒杀$30/月起,新上韩国服务器,香港/日本/美国站群服务器,VPS月付$1.99起,GPU服务器,高防服务器_vps香港

RAKsmart发布了新年钜惠活动,即日起到2月28日,商家每天推出限量服务器秒杀,美国服务器每月30美元起,新上了韩国服务器、GPU服务器、香港/日本/美国常规+站群服务器、1-10Gbps不限流量大带宽服务器等大量库存;VPS主机全场提供7折优惠码,同时针对部分特惠套餐无码直购每月仅1.99美元,支持使用PayPal或者支付宝等方式付款,有中英文网页及客服支持。爆款秒杀10台/天可选精品网/大...

fread为你推荐
winhttp什么是WinHTTPcpu监控CPU检测软件有哪些 5款CPU检测工具介绍 (视频技术学习短视频需要准备什么?怎么去做呢?审计平台审计软件的产品介绍labelforandroid:labelfor是什么意思单元测试规范如何做好小学数学单元测试工作kjava谁能告诉我KJAVA是什么意思和普通的JAVA程序有什么区别?activitygroupactivityGroup子activity跳转的问题embed函数C语言中push函数的定义以及用法。pmp格式在电脑上如何播放PMP格式电影?
1g虚拟主机 cn域名价格 krypt 西安服务器 大硬盘 cve-2014-6271 腾讯云数据库 国外私服 godaddy域名转出 警告本网站 好看qq空间 世界测速 创建邮箱 空间购买 架设邮件服务器 西安服务器托管 中国联通宽带测速 kosskeb4 企业私有云存储 8度空间论坛 更多