c语言学习之基础知识点介绍(十七):写入读取结构体、数组、结构体数组
一、结构体的写入和读取
//写入结构体
FILE *fp = fopen("/Users/ios/Desktop/1.data", "w");
if (fp) { // int num = 20;
// fwrite(&num, sizeof(num), 1, fp);//写入int Person p = {"苍空",}; //int num = 20;
fwrite(&p, sizeof(p), , fp);
printf("写完了\n");
fclose(fp);
} //读取结构体
FILE *fp = fopen("/Users/ios/Desktop/1.data", "r");
if(fp){
Person p;
fread(&p, sizeof(p), , fp);
printf("姓名:%s 年龄:%d\n",p.name,p.age);
fclose(fp);
}
二、数组的写入和读取
//写入数组
FILE *fp = fopen("/Users/ios/Desktop/1.xxxx", "w"); if(fp){
float fs[] = {10.1f,10.2f,10.3f,10.4f,10.5f};//数组名本身就是地址
fwrite(&fs, sizeof(float), , fp);//第二个参数:每个元素的大小,第三个:一共多少块,多少块以数组长度为结果
printf("haha\n");
fclose(fp);
} //读取数组
FILE *fp = fopen("/Users/ios/Desktop/1.xxxx", "r");
if(fp){
float fs[];
fread(&fs, sizeof(float), , fp);
for (int i =; i<; i++) {
printf("%.1f\n",fs[i]);
}
fclose(fp);
}
三、结构体数组的写入和读取
//结构体数组的写入
FILE *fp = fopen("/Users/ios/Desktop/xxx.1", "w");
if (fp) {
Person ps[] = { {"刘",},{"张",},{"郭",},{"花",} };
fwrite(ps, sizeof(Person), , fp);
printf("第1个天王最帅\n");
fclose(fp);
}
//结构体数组的读取
FILE *fp = fopen("/Users/ios/Desktop/xxx.1", "r");
if (fp) {
//读取
Person ps[];
fread(ps, sizeof(Person), , fp);
for (int i = ; i<; i++) {
printf("姓名:%s 年龄:%d\n",ps[i].name,ps[i].age);
}
fclose(fp);
}
c语言学习之基础知识点介绍(十七):写入读取结构体、数组、结构体数组的更多相关文章
- c语言学习之基础知识点介绍(三):scanf函数
本节继续介绍c语言的基础知识点. scanf函数:用来接收用户输入的数据. 语法:scanf("格式化控制符",地址列表); 取地址要用到取地址符:&(shift+7) 例 ...
- c语言学习之基础知识点介绍(二):格式化控制符和变量的补充
上节简单介绍了c语言中的一些基础知识点,本节将对之前介绍的不够详细的知识点进行补充. 格式化控制符的消息介绍: %d的其他控制符: 1.%md:m代表这个整数位占用多少位,m是一个整数.实际数字不足的 ...
- c语言学习之基础知识点介绍(十):数组
本节主要介绍数组. 一.数组 /* 数组:一个变量可以存n个变量. 语法:类型 数组名[长度(正整数)]; 例如:int score[5];//定义了一个int类型的数组,长度为5,可以保存5个数据. ...
- oc语言学习之基础知识点介绍(一):OC介绍
一.第一个OC程序 #import <Foundation/Foundation.h> //导入头文件 int main(int argc, const char * argv[]) ...
- c语言学习之基础知识点介绍(七):循环结构
本节主要介绍循环结构 一.while循环 /* 语法: while(表达式){ //循环体; } 注意:循环变量.循环条件和循环控制语句三者缺一不可. 例如: */ ; //循环变量 ){ //循环条 ...
- c语言学习之基础知识点介绍(四):算术运算符和逗号表达式
本节主要介绍c语言中运算符. 运算符主要分为四类: 1.算术运算符 加(+),减(-),乘(*),除(/),取余(%,两数相除,得到余数) 2.关系运算符 3.逻辑运算符 4.换位运算符 下面将依次介 ...
- c语言学习之基础知识点介绍(一):输出语句和变量简单介绍
本系列是为了学习ios做准备的,也能作为c语言入门的教程看看. c语言的程序结构: 1.顺序结构:自上而下依次执行. 2.分支结构:程序有选择的执行某段代码或者不执行某段代码. 3.循环结构:程序循环 ...
- oc语言学习之基础知识点介绍(五):OC进阶
一.点语法介绍 /* 以前封装后,要给属性赋值,必须调用方法 这样做,有两个缺点: 1.代码量多,调用方法要写的东西多. 2.看起来并不像是给属性赋值,也不像取值. 我们用点语法就可以更好的解决! 点 ...
- oc语言学习之基础知识点介绍(四):方法的重写、多态以及self、super的介绍
一.方法重写 /* 重写:当子类继承了父类的方法时,如果觉得父类的方法不适合,那么可以对这个方法进行重新实现,那么这个就重写. 注意:也就是说,一定只能发生在父类和子类关系中. 然后是子类重新实现父类 ...
随机推荐
- VI编辑器的使用方法
一.vi的工作模式vi有两种工作模式: 编辑模式:用来输入和编辑文件的模式,屏幕上会显示用户的键入,按键不是被解释为命令执行,而是作为文本写到用户的文件中. 指令模式:用来编辑.存盘和退出文件的模 ...
- Windows平台网站图片服务器架构的演进[转]
构建在Windows平台之上的网站,往往会被业内众多架构师认为很“保守”.很大部分原因,是由于微软技术体系的封闭和部分技术人员的短视造成 的.由于长期缺乏开源支持,所以只能“闭门造车”,这样很容易形成 ...
- Java&MySQL Type Mapping
MySQL Type Name Return value of GetColumnClassName Returned as Java Class BIT(1) (new in MySQL-5.0) ...
- Tomcat启动时为什么要配置CATALINA_HOME环境变量??
CATALINA_HOME的值被设为Tomcat的安装目录,如果环境变量CATALINA_HOME已经存在,则通过这个环境变量调用bin目录下的“catalina.bat start”命令 1.Tom ...
- scp 详细总结
转自:http://www.ha97.com/4169.html scp命令跟cp命令类似,只不过cp命令是在同一台机器上用的,scp是在两台机器上复制传输数据的命令.scp实质相当于利用SSH协议来 ...
- FZU Problem 2125 简单的等式
思路:x绝对小于根号n,再由s(x,m)可以缩小范围.1e9十六进制大约算出每位和相加100左右.这种题直接判断范围再暴力. #include<stdio.h> #include<s ...
- 使用Visual Studio 2013编写可维护的本地可视化(natvis)
在Visual Studio 2012中,我们介绍了创建可视化使用原生类型的能力natvis文件. Visual Studio 2013中包含了一些改进,使其更容易编写可视化的类,在内部利用收集来存储 ...
- ABAP SY标签一览 .
Description: SY-SUBRC:语句执行后的返回值,0表示成功SY-DATUM:当前服务器日期SY-UZEIT:当前服务器时间SY-ULINE:255长度的水平线SY-VLINE:垂直线S ...
- GifView项目学习
http://code.google.com/p/gifview/downloads/detail?name=GifViewDemo.rar&can=2&q= 加入jar包
- 运行时动态修改webconfig
网站运行时,如果直接手动修改webconfig.xml,会造成线程池重启,对于PV大的网站来说风险是很大的,并且如果有多台服务器,逐台修改也会造成数据不一致. .NET 2.0后可以通过代码修改web ...