下面是一个用fread,fwrite向结构体中写入结构体,读出结构体的代码:

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include<string.h>
struct stu
{
char name[20];
char sex[20];
int age;
};
int save()
{
struct stu mystu[3];
FILE *fp;
extern int errno;
char fpath[]="record";
int i;
// memset(mystu,0,sizeof(mystu));
strcpy(mystu[0].name,"yang你的");
printf("%s\n",mystu[0].name);
strcpy(mystu[0].sex,"yang方法");
mystu[0].age=23;
strcpy(mystu[1].name,"cai方法");
strcpy(mystu[1].sex,"cai读的");
mystu[1].age=21;
strcpy(mystu[2].name,"liu的");
strcpy(mystu[2].sex,"liu");
mystu[2].age=20;
fp=fopen(fpath,"w");
if(fp==NULL)
{
printf("can't open the file !");
printf("errno:%d",errno);
printf("ERROR :%s",strerror(errno));
return 0;
}
else
{
printf("The file is opened");
}
i=fwrite(mystu,sizeof(mystu),1,fp);
printf("%d bit was written.\n",i);
fclose(fp);
return 0;
}
int load()
{
struct stu mystu[3];
FILE *fp;
extern int errno;
char fpath[]="record";
int i;
fp=fopen(fpath,"rb");
if(fp==NULL)
{
printf("can't open the file !");
printf("errno:%d",errno);
printf("ERROR :%s",strerror(errno));
return 0;
}
else
{
printf("The file is opened");
}
i=fread(mystu,sizeof(mystu),1,fp);
printf("%d bit was read.\n",i);
int j;
for(j=0;j<3;j++)
{
printf("%s %s %d\n",mystu[j].name,mystu[j].sex,mystu[j].age);
}
fclose(fp);
return 0;
}
int main()
{
//    save();
load();
return 0;
}

fread fwrite 的使用相关推荐

  1. 缓冲文件系统(fopen/fread/fwrite)和非缓冲文件系统(open/read/write)

    open:系统调用,返回的是文件描述符,即文件句柄,是文件在文件描述副表里的索引. fopen:C语言库函数,返回的是一个指向文件结构的指针.fopen是ANSI C标准中的C语言库函数,在不同的操作 ...

  2. fopen /open,read/write和fread/fwrite区别

    fopen /open,read/write和fread/fwrite区别 转载URL:http://hi.baidu.com/%B9%C8%C9%F1%B2%BB%CB%C0jdp/blog/ite ...

  3. 33. 使用fread()/fwrite()往文件中写入结构体,从文件中读出结构体

    1 //读写结构体 2 #include <stdio.h> 3 typedef struct student 4 { 5 int num; 6 char name[30]; 7 char ...

  4. C++文件操作:fopen / fread / fwrite

    1. 方法介绍 1.1 open()函数:打开文件 包含头文件:     #include<stdio.h> 格式:FILE * fopen(const char * path,const ...

  5. C语言实现成块数据读写操作 fread() fwrite()

    首先讲解 c 语言中文件操作的两个关键函数:fread().fwrite() 1. fread( buffer , size , count , fp) 该函数实现从 fp 所指的文件中读入 coun ...

  6. 【fread/fwrite】C语言API之fread/fwrite函数详解

    文章目录 1.函数定义及原型 2.函数功能 3.函数示例 1.函数定义及原型 #include <stdio.h> size_t fread(void *ptr, size_t size, ...

  7. C++文件操作——fopen/fseek/ftell/fread/fwrite/fclose等函数用法

    1. fopen FILE * fopen(const char * path,const char * mode); 函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代 ...

  8. c语言文件和结构体,C语言 文件操作 结构体与文件 fgetc fputc fread fwrite

    #include #include /*C语言 将键盘输入的字符写入文件*/ int main(int argc, char* argv[]) { FILE *fp; //文件指针 char str1 ...

  9. linux写入二进制文件内容,fopen , fread fwrite 函数读写二进制文件 问题总结

    最近在解析 png 数据文件, 发现一个文件操作中容易忽略的问题,问题描述如下: 在使用 fread 读二进制文件(png 图片)的时候, 发现读取到内存中的数据和 二进制文件中的数据不一致, 同样, ...

最新文章

  1. 样式集 - 自适应居中弹窗
  2. 一个sql的执行过程详解
  3. 智源LIVE丨北大贾金柱:更优的协变量调整的平均因果作用估计
  4. Python与Cisco的事儿之四
  5. 微信小程序 textarea 简易解决方案
  6. [算法]链表的逆序遍历节点
  7. mysql mvcc 隔离级别_隔离级别和MVCC
  8. Express接口案例——完成文章评论相关的接口
  9. SQLite 事务控制
  10. VUX 移动前端框架使用文档
  11. nyoj234 吃土豆 01背包
  12. 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。剑指Offer(32)
  13. IntelliJ IDEA常用插件介绍和配置
  14. 小象学院python数据分析课程怎么样_小象学院大数据分析集训营试听知识点整理-正则表达式...
  15. H5播放B站源的flv视频
  16. 流程审批类系统数据库结构怎么定义
  17. C++中的delegate
  18. 认识一下网关,路由器,交换机,猫
  19. php表格升序降序,excel如何实现升序和降序
  20. 2022年度湖北省科技创新人才及服务专项软科学研究项目申报条件、流程和项目类别

热门文章

  1. C语言获取执行程序所在的目录路径
  2. 2023最新最新ChatGPT超全面从基础到实战视频教程/有兴趣自己学
  3. 怎样把d盘改成c盘!如何把收藏夹和桌面的路径设成D盘
  4. 【开源】我和 JAP(JA Plus) 的故事
  5. html5 arc 椭圆,html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
  6. Linux基础篇之权限的设定
  7. 【实战】电商后台管理系统:路由封装基础布局
  8. Centos7局域网上共享文件夹(Samba服务)
  9. vscode安装和配置ESLint
  10. SharePoint列表SPList运用SPQuery进行查询的两个实用方法