⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file操作5.cpp

📁 文件是程序设计中一个重要概念。所谓“文件”一般指:存处在外部介质上数据的集合。C对文件操作
💻 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 + -