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

小渣云(36元/月)美国VPS洛杉矶 8核 8G

小渣云 做那个你想都不敢想的套餐 你现在也许不知道小渣云 不过未来你将被小渣云的产品所吸引小渣云 专注于一个套餐的商家 把性价比 稳定性 以及价格做到极致的商家,也许你不相信36元在别人家1核1G都买不到的价格在小渣云却可以买到 8核8G 高配云服务器,并且在安全性 稳定性 都是极高的标准。小渣云 目前使用的是美国超级稳定的ceranetworks机房 数据安全上 每5天备份一次数据倒异地 支持一...

Friendhosting(月1.35欧元),不限流量,9机房可选

今天9月10日是教师节,我们今天有没有让孩子带礼物和花送给老师?我们这边不允许带礼物进学校,直接有校长在门口遇到有带礼物的直接拦截下来。今天有看到Friendhosting最近推出了教师节优惠,VPS全场45折,全球多机房可选,有需要的可以看看。Friendhosting是一家成立于2009年的保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌...

百纵科技(19元/月),美国洛杉矶10G防御服务器/洛杉矶C3机房 带金盾高防

百纵科技官网:https://www.baizon.cn/百纵科技:美国云服务器活动重磅来袭,洛杉矶C3机房 带金盾高防,会员后台可自助管理防火墙,添加黑白名单 CC策略开启低中高.CPU全系列E52680v3 DDR4内存 三星固态盘列阵。另有高防清洗!美国洛杉矶 CN2 云服务器CPU内存带宽数据盘防御价格1H1G10M10G10G19元/月 购买地址2H1G10M10G10G29元/月 购买...

fread为你推荐
短信通道短信平台是什么?哪家比较好?宝应中学江苏省宝应中学的知名校友以图搜人怎样搜人webproxy什么是PAC网址qq博客怎么开QQ博客啊vga接口定义主板上的VGA接口有什么用?腾讯年终奖腾讯qq一年盈利多少?天翼校园宽带中国电信校园宽带怎么样?kjava通用KJava是什么意思bt代理为什么用代理下载BT非常非常慢啊?
重庆服务器租用 日本动态vps 汉邦高科域名申请 个人域名备案流程 互联网域名管理办法 qq云存储 Hello图床 ubuntu更新源 好看的桌面背景图 云图标 牛人与腾讯客服对话 php空间申请 网络空间租赁 重庆双线服务器托管 德隆中文网 免费蓝钻 群英网络 国内空间 广州服务器托管 国外免费网盘 更多