ANSI C文件系统提供fread()和fwrite()两个函数,用于读/写长于一字节的数据类型。这两个函数允许读/写各种类型的数据块。它们的原型是:

size_t fread(void *buffer,size_t num_bytes,size_t count,FILE *fp);
size_t fwrite(const void *buffer,size_t num_bytes,size_t count,FILE *fp);

对fread()而言,buffer是接收读入数据的内存区的指针。

对fwrite()而言,buffer是写入到那个文件的信息的指针。

count的值确定读/写多少项,每项长度等于num_bytes。

fp是指向事先打开的流的指针。

正常情况下,fread()返回读入的项数,fwrite()返回写出的项数。

只要文件按二进制打开,fread()和fwrite()就可以读/写各类信息。以下程序先向文件写double,int和long型数据,然后再读回。

//向磁盘文件写入一些非字符型的数据,并且再将其读回到内存
#include <stdio.h>
#include <stdlib.h>int main(void)
{FILE *fp;double d1 = 12.23,d2;int i1 = 101,i2;long l1 = 123023L,l2;if((fp=fopen("test", "wb+"))==NULL) {printf("Cannot open file.\n");exit(1);}//将3个值写入到文件中fwrite(&d1, sizeof(double), 1, fp);fwrite(&i1, sizeof(int), 1, fp);fwrite(&l1, sizeof(long), 1, fp);//重置到文件的开始处rewind(fp);//将3个值从文件中读出fread(&d2, sizeof(double), 1, fp);fread(&i2, sizeof(int), 1, fp);fread(&l2, sizeof(long), 1, fp);printf("%f %d %ld", d, i, l);fclose(fp);return 0;
}

用fread()和fwrite()读写文件相关推荐

  1. c语言fseek128字节,C语言rewind和fseek函数的用法详解(随机读写文件)

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...

  2. C语言rewind函数返回值为空,C语言rewind和fseek函数的用法详解(随机读写文件)...

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...

  3. python rewind_C语言rewind和fseek函数的用法详解(随机读写文件)

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...

  4. C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind...

    由于最近经常使用到c语言中的读写文件,所以在此总结以下,方便以后查找. 在c中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的邯郸乎的用法: //C++写入 ...

  5. C语言之文件读写探究(四):fwrite、fread(一次读写一块数据(二进制操作))

    相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...

  6. fstream与 C 风格(例如fread 和 fwrite )两种读写文件方法的效率比较

    我觉得作者写的挺好,评论也写的很对. 目前我的项目就是在VS2008+Qt+win7上开发的.我上次总结的QFile和C语言对文件操作的性能比较.--读取double型二进制数据文件也说明了这个问题. ...

  7. c语言fwrite作用,C语言fread和fwrite的用法详解(以数据块的形式读写文件)

    fgets() 有局限性,每次最多只能从文件中读取一行内容,因为 fgets() 遇到换行符就结束读取.如果希望读取多行内容,需要使用 fread() 函数:相应地写入函数为 fwrite(). 对于 ...

  8. 文件操作:fread()和fwrite()

    fread和fwrite函数功能     用来读写一个数据块.   一般调用形式     fread(buffer,size,count,fp);     fwrite(buffer,size,cou ...

  9. c语言fread malloc,流操作之读写(fread、fwrite、fopen、malloc)

    fgets.fread函数 fwritre函数 文件结束函数 错误指示函数 #include #include int main(int arge,char **argv) { int ret=-1; ...

  10. c语言数据块写入函数,C语言数据块读写函数:fread和fwrite

    在前面曾经介绍过C语言中的各种读写函数,首先是最简单的读写一个字符的函数fputc和fgetc,在这个基础上又出现了putw和getw.fgets和fputs,此外还说过格式化读写函数fprintf和 ...

最新文章

  1. 使用余弦相似度算法计算文本相似度-数学
  2. 什么是shell【TLCL】
  3. javascript中的事件问题的总结
  4. 11月数据库排行:PostgreSQL起飞、三巨头分数持续低迷
  5. Vue实现仿音乐播放器8-实现热门榜单效果
  6. UWP 播放媒体控件
  7. P2572 [SCOI2010]序列操作
  8. mt4 指标 涨跌幅 颜色k线_通达信精选指标——彩色K线指标
  9. [数论-欧拉函数的应用]NEFU 1115
  10. 大班音乐机器人反思_幼儿园大班音乐律动教案《伦敦桥》含反思
  11. 移动端网页开发注意点
  12. JavaSE学习--面向对象
  13. 组态软件mcgs入库mysql_MCGS组态软件实现数据报表
  14. Unity HDR (高动态范围 )
  15. Jmeter java取样器实现
  16. Web前端开发的十佳前端框架优缺点
  17. 中国睫毛生长液行业市场供需与战略研究报告
  18. 采众家之长 凯翔软件定义存储能够后来居上吗?
  19. kernel 修改启动logo
  20. 傅里叶变换短时傅里叶变换小波变换

热门文章

  1. 该怎么学Python?自学Python的方法整理!
  2. 湖南省岳阳市谷歌高清卫星地图下载
  3. 【机器学习课程-华盛顿大学】:4 聚类和检索 4.4 MoG混合高斯模型编程测试
  4. golang并发编程-04-通道-02-定时器、断续器
  5. C语言文件操作与系统文件操作接口
  6. 一步一步在 Windows 10 用 visual studio 2019 编译 zmqpp 4.2.0 版
  7. 计算机基础知识填空题和选择题,计算机基础知识题库选择题(参考).doc
  8. 机器学习的思考–计算机的潜意识
  9. python3-输入摄氏度转化为华氏度
  10. SPRING系列一之 依赖注入