学习内容
- 文件操作
- 结构体
1文件操作
(1)文件的打开(fopen)
注:打开方式
r:以只读的方式打开文件,并且该文件必须存在
r+:以可读写的方式打开文件,但该文件必须存在
w:打开只写文件,若文件存在则文件长度清空为0,即文件内容会消失,若文件不存在,则建立该文件
w+:打开可读写文件,如文件存在则文件长度清空为0,该文件的内容也会消失。若文件不存在则建立该文件。
a:以附加的方式打开只写文件。若文件不存在,则会建立该文件;如果文件存在,写入的数据会被加到文件尾,即原先的内容会被保留。
a+:以附加的方式打开可读写的文件。若文件不存在则建立该文件;若文件存在写入的数据会被加到文件尾,即文件原先的内容会被保留。(2)向文件中输入数据(fputs)
(3)fseek
(4)fwrite
(5)fread
2结构体
结构体是一种数据类型,可以用来说明一个变量----结构体变量
我们在定义结构体的同时定义结构体变量,如:struct studentinfo{ unsigned int age; unsigned int num; char name[20]; }stu1,stu2;
注:在定义结构体时,里面的成员变量不可以赋初值。
结构体长度的计算方法:
结构体大小结果要为成员中最大字节的整数倍,如:struct temp{ int age; char name; double score; }stu1;
我们输出stu1的长度,为16;
struct temp{ int age[4]; char name; double score; }stu1;
输出的结果变为32,因为成员最长度变为了16(age[4]),所以double的长度为8,它需要填充变为16;又由于double增加的长度并未被使用,所以char的1长度就不计,算在double增加的长度中。