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

从键盘输入一个数组,将数组写入文件再读取出来。

文件的后缀不一定是 .txt,它可以是任意的,你可以自己命名,例如 demo.ddd、demo.doc、demo.diy 等。
话不多说直接上代码

【示例】从键盘输入两个学生数据,写入一个文件中,再读出这两个学生的数据显示在屏幕上。

#include<stdio.h>
#define N 2
struct stu{char name[10]; //姓名int num;  //学号int age;  //年龄float score;  //成绩
}boya[N], boyb[N], *pa, *pb;
int main(){FILE *fp;int i;pa = boya;pb = boyb;if( (fp=fopen("d:\\demo.txt", "wb+")) == NULL ){puts("Fail to open file!");exit(0);}//从键盘输入数据printf("Input data:\n");for(i=0; i<N; i++,pa++){scanf("%s %d %d %f",pa->name, &pa->num,&pa->age, &pa->score);}//将数组 boya 的数据写入文件fwrite(boya, sizeof(struct stu), N, fp);//将文件指针重置到文件开头rewind(fp);//从文件读取数据并保存到数据 boybfread(boyb, sizeof(struct stu), N, fp);//输出数组 boyb 中的数据for(i=0; i<N; i++,pb++){printf("%s  %d  %d  %f\n", pb->name, pb->num, pb->age, pb->score);}fclose(fp);return 0;
}

数据写入完毕后,位置指针在文件的末尾,要想读取数据,必须将文件指针移动到文件开头,这就是rewind(fp);的作用。

运行结果:

Input data:
Tom 2 15 90.5
Hua 1 14 99
Tom  2  15  90.500000
Hua  1  14  99.000000

【C语言文件读写代码用法示例】相关推荐

  1. C语言文件读写(1)-文本文件读操作

    C语言文件读写--文本文件读操作 最近和几个初学C语言的朋友讨论文件读写,发现他们在使用C语言文件读写功能的时候遇到了不少问题,不是文件打开方式有问题,就是文件读写有问题,总是得不到自己想要的结果. ...

  2. C语言入门教程||C语言 文件读写||C语言 预处理器

    C语言 文件读写 本章我们将介绍 C 程序员如何创建.打开.关闭文本文件或二进制文件. 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节.C 语言不仅提供了访问顶层的函数,也提供了底层 ...

  3. C语言文件读写(4)-判断文件是否结束

    C语言文件读写-判断文件是否结束 在读文件的时候,很重要的一个条件是:文件是否结束,因为文件已经结束了,就不用继续读文件了. 判断文件结束,有许多方式,比如读取文本文件和二进制文件就可以使用不同的方式 ...

  4. C语言 文件读写 EOF - C语言零基础入门教程

    目录 一.EOF 简介 二.EOF 实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.EOF 简介 EOF 是 End Of Fi ...

  5. vs调用css写的c语言程序,c语言文件读写实例

    #include"ccn.h" main(){FILE *in,*out; char ch,infile[10],outfile[10文件使用方式 意义 "rt" ...

  6. c语言文件写入函数有哪些,c语言文件读写函数有哪些?

    c语言文件读写函数有:"fgetc"和"fputc"(字符读写函数)."fgets"和"fputs"(字符串读写函数). ...

  7. C语言文件读写(5)-文件位置相关

    C语言文件读写(5)-文件位置相关 当打开一个文件以后,无论是读还是写,都有一个指示文件位置的这么一个东西,我们可以称之为文件的位置指示器或者文件位置指针,文件位置指示器指明了当前文件读或者写的位置信 ...

  8. C语言文件读写(3)-二进制文件读写操作

    C语言文件读写-二进制文件读写操作 先说说什么是二进制文件,二进制文件是相对于文本文件而言的,文本文件是由一行一行的字符的有序序列组成的.二进制文件就没有行的概念了,也是由有序的字符组成的,但是在写入 ...

  9. C语言文件读写(2)-文本文件写操作

    C语言文件读写-文本文件写操作 在上一篇中介绍了如何读取文本文件 https://blog.csdn.net/zhanghaiyang9999/article/details/107032563 这一 ...

最新文章

  1. 排列和组合简单的递归思路以及C++实现
  2. java 80端口_Java80端口占用异常解决方法
  3. Java数组的基本操作方法整理
  4. html通过php获取mysql数据_怎样借助PHP从HTML网页中获取phpmyadmin数据库里数据表的内容...
  5. 最小花费(最短路变形+中南大学复试机试)
  6. docker安装mysql并配置文件_Docker安装mysql,并自定义my.cnf
  7. 传感器实验——蜂鸣器
  8. 《秘密》读后感之秘密的揭露和法则
  9. Nginx+Tomcat 负载均衡+动静分离
  10. (ISC)2官方中国CISSP授权培训服务提供商正式启动
  11. UltraLight 卡存储结构
  12. 在word/wps插入代码+保持源代码风格+加行号
  13. Java-mysql:常用SQL语句及数据库的相关操作
  14. oracle用户密码不被锁,Oracle用户密码过期和用户被锁解决方法【转】
  15. Flutter开发相比React-Native优势在哪里?高手为你答疑解惑!
  16. 10句民间俗语,感悟古人智慧
  17. 如何在项目中引用字体包
  18. 《商务与经济统计》Python实现笔记(三)
  19. 【LeetCode】49.字母异位词分组 (三种解法开拓思路,java实现)
  20. C10K问题:是时候让Web服务器同时处理一万个客户端了

热门文章

  1. 柯文哲《生死的智慧》
  2. 安装angular ng-zorro
  3. 苹果5概念机_vivo 概念手机发布了,未来的手机就长这样
  4. 已解决WARNING: This is a development server. Do not use it in a production deployment. Use a production
  5. 工艺包【2】:工业机器人绘制肖像
  6. 关于七牛上传、下载高并发说明,以及七牛分片下载实际运用
  7. Elasticsearch之文本搜索(十三)
  8. 正则表达式王国奇遇记
  9. 从构建进程间缓存设计谈Webpack5 优化和工作原理
  10. JavaWeb(四)——MyBatis(持久层框架)