1. #include<stdio.h>
  2. #define SIZE 10
  3. struct student
  4. {
  5. char name[10];
  6. int num;
  7. int age;
  8. char addr[15];
  9. }stu[SIZE];
  10. //保存数据(fwrite)
  11. void save()
  12. {
  13. FILE *fp;
  14. fp = fopen("stu.dat","wb");
  15. if(fp==NULL)
  16. {
  17. printf("file can not open!\n");
  18. return;
  19. }
  20. for(int i=0;i<SIZE;i++)
  21. {
  22. if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
  23. {
  24. printf("file write error!\n");
  25. }
  26. }
  27. fclose(fp);
  28. }
  29. //读取数据(fread)
  30. void load()
  31. {
  32. FILE *fp;
  33. fp = fopen("stu.dat","rb");
  34. if(fp==NULL)
  35. {
  36. printf("file can not open!\n");
  37. return;
  38. }
  39. for(int i=0;i<SIZE;i++)
  40. {
  41. if(fread(&stu[i],sizeof(struct student),1,fp)!=1)
  42. {
  43. if(feof(fp))
  44. {
  45. fclose(fp);
  46. return;
  47. }
  48. printf("file read error!\n");
  49. }
  50. printf("%-10s %4d %4d %-15s\n",stu[i].name,stu[i].num,stu[i].age,stu[i].addr);
  51. }
  52. fclose(fp);
  53. }
  54. int main()
  55. {
  56. printf("Please enter data of students:\n");
  57. for(int i=0;i<SIZE;i++)
  58. {
  59. scanf("%s%d%d%s",stu[i].name,&stu[i].num,&stu[i].age,stu[i].addr);
  60. }
  61. save();
  62. load();
  63. return 0;
  64. }

C语言:用二进制方式向文件读写一组数据(fread、fwrite)的更多相关文章

  1. c++ 二进制方式读取文件 读取特殊类型数据

    #include <iostream> #include <fstream> using namespace std; /* 二进制方式进行读写文件,可以读写 各种各样数据类型 ...

  2. C语言采用文本方式和二进制方式打开文件的区别分析

    稍微了解C程序设计的人都知道,文本文件和二进制文件在计算机上面都是以0,1存储的,那么两者怎么还存在差别呢?对于编程人员来说,文本文件和二进制文件就是一个声明,指明了你应该以什么方式(文本方式/二进制 ...

  3. Python自动化--语言基础4--模块、文件读写、异常

    模块1.什么是模块?可以理解为一个py文件其实就是一个模块.比如xiami.py就是一个模块,想引入使用就在代码里写import xiami即可2.模块首先从当前目录查询,如果没有再按path顺序逐一 ...

  4. python自动化--语言基础四模块、文件读写、异常

    模块1.什么是模块?可以理解为一个py文件其实就是一个模块.比如xiami.py就是一个模块,想引入使用就在代码里写import xiami即可2.模块首先从当前目录查询,如果没有再按path顺序逐一 ...

  5. ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调

    近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0,现把学习结果分享一下,希望对新手有帮助. 目录 ActionScript 3.0简介 Hello ...

  6. [转]ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调

    本文转自:http://www.cnblogs.com/artwl/p/3396330.html 近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0, ...

  7. Python for Data Analysis 学习心得(三) - 文件读写和数据预处理

    一.Pandas文件读写 pandas很核心的一个功能就是数据读取.导入,pandas支援大部分主流的数据储存格式,并在导入的时候可以做筛选.预处理.在读取数据时的选项有超过50个参数,可见panda ...

  8. python第二十九课——文件读写(写数据的操作)

    演示写数据的操作: 结论:往文件中写入数据,如果文件不存在,先创建文件,再写入内容 #1.打开文件 fw=open(r'd.txt','w',encoding='utf-8') #2.写数据操作 fw ...

  9. python第二十九课——文件读写(读取数据操作)

    演示读取数据操作:path=r'a.txt' 1.打开文件f1=open(path,'r') 2.读取数据content1=f1.read(3)print(content1) content1=f1. ...

随机推荐

  1. Mongodb C#客户端数据关联数据,使用Linq语法进行关联

    在Mongodb C# drivers 文档 官方地址:https://docs.mongodb.com/ecosystem/drivers/csharp/ 基础的使用请参考<c# Mongod ...

  2. Bootstrap进阶二:基本组件

    基本组件是Bootstrap的精华之一,其中都是开发者平时需要用到的交互组件.例如:网站导航.标签页.工具条.面包屑.分页栏.提示标签.产品展示.提示信息块和进度条等.这些组件都配有jQuery插件, ...

  3. 相等(==)、严格相等(===)、NaN、null、undefined、空和0

    (===)如果两个引用值指向同一个对象.数组.或函数,则他们是相等的.如果指向不同的对象,则他们是不相等的,尽管两个对象具有完全一样的属性. (==)如果其中一个值是true,则将其转换为1再进行比较 ...

  4. js constructor 和 instanceof

    说到这两个属性,那不得不说一下_proto_这个属性,通常这个属性是隐藏属性,是不允许被暴露的,而某些浏览器为了开发者能够很好的理解,而将这个属性暴露出来,比如Mozilla FireFox,这就是为 ...

  5. 一步一步写数据结构(BST-二叉排序树)

    二叉排序树的重要性不用多说,下面用c++实现二叉排序树的建立,插入,查找,修改,和删除.难点在于删除,其他几个相对比较简单. 以下是代码: #include<iostream> using ...

  6. 历史文章分类汇总-Anaconda安装第三方包(whl文件)

    本文主要是对公众号之前发布的文章进行分类整理,方面大家查阅,以后会不定期对文章汇总进行更新与发布.   一.推荐阅读: Anaconda安装第三方包(whl文件) 福布斯系列之数据分析思路篇 福布斯系 ...

  7. date time insert

    DATE=`date '+%m/%d/%Y'`TIME=`date '+%H:%M:%S'` sed -i '1i1***** start*****' test.kshsed -i '2i\ REPO ...

  8. 【推导】The 16th UESTC Programming Contest Preliminary L - Foxtrot

    题意:有n瓶药剂,其中只有一瓶药剂有毒.让你用最少的小白鼠试出哪瓶有毒.你只有一次给任意只小白鼠各喂食任意种类药剂的机会. m只老鼠就能对应2^m种“生死状态”的组合,给每种状态分配一个种类的药剂,然 ...

  9. 【MPI】并行奇偶交换排序

    typedef long long __int64; #include "mpi.h" #include <cstdio> #include <algorithm ...

  10. [POI2015]Trzy wieże

    [POI2015]Trzy wieże 题目大意: 给定一个长度为\(n(n\le10^6)\)的仅包含'B'.'C'.'S'三种字符的字符串,请找到最长的一段连续子串,使得在这一段内出现过的所有字符 ...