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

📄 结构数据的文件读写.txt

📁 结构数据的读写是指从"流"文件中读取数据存入结构
💻 TXT
字号:
结构是程序设计中最重要的数据类型之一,利用结构可以实现许多算法。
结构同数组一样是集合变量,它是程序设计中最重要的数据类型之一,利用结构可以方便许多问题的处理。
结构与数组的相同之处是由多个成员组成,各成员在内存中顺序存放,用一个名字引用多个成员数据。
结构与数组的区别是数组元素的数据类型相同,使用下标访问各元素;而结构的各元素数据类型可以不同,使用成员的名称访问结构的各元素。
结构数据的读写是指从"流"文件中读取数据存入结构,或将结构数据写入"流"文件。我们可以用以下两种方法进行结构数据的文件读写。

1.通过结构成员进行文件读写

可以使用头stdio.h中声明的fscanf()和fprintf()函数对结构数据进行文件读写。
例如,如下代码从fp1指向的"流"文件中的读取数据赋给结构变量st.

struct student
{
int num;
char name[];
float grade;
}  st;
fscanf(fp1,"%d %s %f \n",st.num,st.name.st.grage );
2.将结构当成数据块进行文件读写
将结构当成数据块进行文件读写可以使用头文件stdio.h中声明的fread()和fwrite()函数。
例如,如下代码将st结构数据一次全部写入fp1所指向的文件:

fwrite(&st,sizeof(student),1,fp1))==EOF)//fp1为"流"文件指针

例如,如下代码从fp2指向的文件中读取结构数据

if((fread(&st,sifeof(student),1,fp2))==EOF);//fp2为"流"文件指针

3.对结构数组也可以当成数据块读写
例如,如下音乐会 结构数组starr一次写入fp指向的文件中:
struct student  starr[MAX];
fwrite(&st,sizeof(student),MAX,fp1);//fp为"流"文件指针/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -