📄 file操作5.cpp
字号:
/*
程序名称: 文件操作 -- 普通数据读写2
使用函数: fopen, fclose, ferror, fwrite, fread
程序功能: 非字符型数据关于文件的读取 -- struct数据
日期: 2008-02-28
作者: zuojianhua
*/
#include <stdio.h>
#include <string.h>
struct student
{
char name[20];
int age;
}stu[3], des[4];
main()
{
FILE *fp = NULL;
stu[0].age = 20;
strcpy(stu[0].name, "zuojianhua");
stu[1].age = 30;
strcpy(stu[1].name, "Lijie");
stu[2].age = 43;
strcpy(stu[2].name, "wangxing");
for(int j=0; j<4; j++)
{
des[j].age = 0;
memset(des[j].name, '\0', 20);
}
// 1. 以二进制文件的格式写入
fp = fopen("c:\\zuojianhua\\dataStruct.data", "wb");
// if( ferror(fp) != 0 )
if( !fp )
{
printf("The file can not open.");
return 0;
}
// 2. 将结构数组以二进制的格式写入文件, 注意此函数的使用格式!!!
fwrite(stu, sizeof(struct student), 3, fp);
fclose(fp);
// 3. 以二进制文件的格式读取
fp = fopen("c:\\zuojianhua\\dataStruct.data", "rb");
// if( ferror(fp) != 0 )
if( !fp )
{
printf("The file can not open.");
return 0;
}
// 4. 读取按照格式读取,注意: 这里只读取部分数据
// 如果读取的部分超过文件的内容,读取结束
fread(des,sizeof(struct student),4,fp);
for(int i=0; i<4; i++)
{
printf("%s, %d\n", des[i].name, des[i].age);
}
fclose(fp);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -