C结构体数组的应用
- #include <stdio.h>
- //定义结构体存储学生成绩信息
- struct address_list{
- char name[];
- char adr[];
- char tel[];
- } info[];
- void save(char *name, int n){
- FILE *fp;
- int i;
- fp = fopen(name, "wb");
- if(fp == NULL){
- printf("cannot open file %s\n", name);
- exit();
- }
- for(i=; i<n; i++){
- if(fwrite(&info[i], sizeof(struct address_list),,fp)!=){
- printf("file write error\n");
- }
- }
- fclose(fp);
- }
- void show(char *name, int n){
- FILE *fp;
- int i;
- fp = fopen(name, "wb");
- if(fp == NULL){
- printf("cannot open file %s\n", name);
- exit();
- }
- for(i=; i<n; i++){
- fread(&info[i], sizeof(struct address_list),,fp);
- printf("%15s%20s%20s\n", info[i].name, info[i].adr, info[i].tel);
- }
- fclose(fp);
- }
- int main(){
- int i, n;
- char filename[] ;
- printf("how many ?\n");
- scanf("%d", &n); //输入学生数
- printf("please input filename:\n");
- scanf("%s", filename); //输入文件路径和名称
- printf("please input name, address, telephone:\n");
- for(i=; i<n; i++){
- printf("NO%d", i+);
- scanf("%s%s%s", info[i].name, info[i].adr, info[i].tel);
- save(filename, n); //调用save
- }
- show(filename, n); //调用show
- return ;
- }
C结构体数组的应用的更多相关文章
- C#调用C/C++动态库 封送结构体,结构体数组
一. 结构体的传递 #define JNAAPI extern "C" __declspec(dllexport) // C方式导出函数 typedef struct { int ...
- 【C语言入门教程】7.2 结构体数组的定义和引用
7.2 结构体数组的定义和引用 当需要使用大量的结构体变量时,可使用结构体定义数组,该数组包含与结构体相同的数据结构所组成的连续存储空间.如下例所示: struct student stu_a[50] ...
- Delphi结构体数组指针的问题
//这段代码在Delphi 2007和delphi 7下是可以执行的,所以正确使用结构体数组和指针应该是这样的,已验证 unit Unit1; interface uses Windows, Mess ...
- C语言中的结构体,结构体数组
C语言中的结构体是一个小难点,下面我们详细来讲一下:至于什么是结构体,结构体为什么会产生,我就不说了,原因很简单,但是要注意到是结构体也是连续存储的,但要注意的是结构体里面类型各异,所以必然会产生内存 ...
- 结构体数组(C++)
1.定义结构体数组 和定义结构体变量类似,定义结构体数组时只需声明其为数组即可.如: struct Student{ int num; char name[20]; char sex[5]; int ...
- c语言学习之基础知识点介绍(十七):写入读取结构体、数组、结构体数组
一.结构体的写入和读取 //写入结构体 FILE *fp = fopen("/Users/ios/Desktop/1.data", "w"); if (fp) ...
- c语言结构体数组定义的三种方式
struct dangdang { ]; ]; ]; int num; int bugnum; ]; ]; double RMB; int dangdang;//成员名可以和类名同名 }ddd[];/ ...
- C#调用C++DLL传递结构体数组的终极解决方案
在项目开发时,要调用C++封装的DLL,普通的类型C#上一般都对应,只要用DllImport传入从DLL中引入函数就可以了.但是当传递的是结构体.结构体数组或者结构体指针的时候,就会发现C#上没有类型 ...
- 绝对好文C#调用C++DLL传递结构体数组的终极解决方案
C#调用C++DLL传递结构体数组的终极解决方案 时间 2013-09-17 18:40:56 CSDN博客相似文章 (0) 原文 http://blog.csdn.net/xxdddail/art ...
- C#调用C/C++动态库 封送结构体,结构体数组
因为实验室图像处理的算法都是在OpenCV下写的,还有就是导航的算法也是用C++写的,然后界面部分要求在C#下写,所以不管是Socket通信,还是调用OpenCV的DLL模块,都设计到了C#和C++数 ...
随机推荐
- 转:[大数据竞赛]协同过滤在这个问题上是否work
http://bbs.aliyun.com/read/154433.html?spm=5176.7189909.0.0.gzyohy&fpage=2 看到主办方之前发的一篇文章里提到,这个购买 ...
- java中两种发起POST请求,并接收返回的响应内容的方式 (转)
http://xyz168000.blog.163.com/blog/static/21032308201162293625569/ 2.利用java自带的java.net.*包下提供的工具类 代码如 ...
- 如果使用xutils出现了ExceptionInInitializerError这个错误
看看是否初始化 1)在Application初始化 x.Ext.init(this); // 在application的onCreate中初始化 /** * 初始化xUtils3 */ publi ...
- C#.NET常见问题(FAQ)-override覆盖和virtual虚类如何理解
父类使用virtual关键字,可以让子类的实例完全代替基类的类成员.(前面父类virtual后面子类override),比如下面我定义一个Employee的员工的基类,给这个基类定义了Start_Wo ...
- php获取当前时间的方法
1.获取当前时间 date('Y-m-d H:i:s', time()) 2.字符串转时间 date('Y-m-d H:i:s',strtotime('2018-8-21 22:00:00'))
- iOS开发点滴 - 关闭键盘
有时候系统显示的键盘会挡住视图中某些重要的控件,这个时候当用户按下换行键,就应该取消UITextField对象的第一响应(First Responder)状态而关闭键盘. 1. 首先,视图控制器必须遵 ...
- css规范 - bem
用我的话简述来说,即 B:何种元素 E:何种模块使用它(header,footer)等 M:描述它是做何种事情的 例如就是我有个主页,名称是:index.html index_header_logo ...
- 学习 Linux,302(混合环境): Samba 角色
http://www.ibm.com/developerworks/cn/linux/l-lpic3-310-2/ 概述 在本文中,了解下列概念: Samba 安全模式 核心 Samba 守护程序的角 ...
- 转:FSMT:文件服务器从03迁移到08R2实战演练
另外参见:http://www.canway.net/Lists/CanwayOriginalArticels/DispForm.aspx?ID=282 以前做过一个项目,是把文件服务器从03升级到0 ...
- Go语言使用Beego的ORM插入Mysql后,时区不一致的解决方案
一.解决方案: 方案一: orm.Debug = false orm.DefaultTimeLoc = time.UTC orm.RegisterDriver("mysql", o ...