C语言结构体如何存入文件?

C语言结构体如何存入文件?,第1张

最好用2进制方法打开文皮差件,用逗握行fwrite 写文件。读时也用用2进制方法打开文件,用fread读.\x0d\x0a这样,写的时候按整个结构写,读也按整个结构读,字山哗符串有空白也没关系。\x0d\x0aFILE *fp\x0d\x0a \x0d\x0afp=fopen("my.dat","wb")\x0d\x0afwrite(&stu,sizeof(stu),1,fp)// 写1个结构\x0d\x0afor (i=0i 回答于 2022-11-16

C语言,要将结构体中的数据存到磁盘上需要使用与文件 *** 作相关的库函数

首先要使用文件打开函数fopen()。

fopen函数用来打开一个文耐团件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式) 其中,“文件指针名”必须是被说明为FILE 类型的指针变量,“文件名”是被打开文件的碧纳文件名。 “使用文件方式”是指文件的类型和 *** 作要求。“文件名”是字符串常量或字符串数组。

其次,使用文件读写函数读取文件。

在C语言中提供了多种文件读写的函数:

·字符读写函数 :fgetc和fputc

·字符串读写函数:fgets和fputs

·数据块读写函数:freed和fwrite

·格式化读写函数:fscanf和fprinf

最后,在文件读取结束要使用文件关闭函数fclose()关闭文件。

下面使用格式化读写函数fscanf和fprintf实现对文件A.txt(各项信息以空格分割)的读取,并存入结构体数组a中,并将它的信息以新的格式(用制表符分割各项信息)写入B.txt,实现对A.txt的处理。

C语言源程序如下所示:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

#include <stdio.h>

#include <stdlib.h>

#include <assert.h>

typedef struct student{

char name[32]

int no

char sex[16]

float score

} stu

int main(int argc, char* argv[])

{

//打开文件

FILE * r=fopen("A.txt","r")

assert(r!=NULL)

FILE * w=fopen("B.txt","w")

assert(w!=NULL)

//读写文件

stu a[128]

int i=0

while(fscanf(r,"%s%d%s%f",a[i].name,&a[i].no,a[i].sex,&a[i].score)!=EOF)

{

printf("%s\t%d\t%s\t%g\n",a[i].name,a[i].no,a[i].sex,a[i].score)//输出到显示器昌慧橘屏幕

fprintf(w,"%s\t%d\t%s\t%g\n",a[i].name,a[i].no,a[i].sex,a[i].score)//输出到文件B.txt

i++

}

//关闭文件

fclose(r)

fclose(w)

system("pause")

return 0

}

树型。文件夹是一个储存文件的巧腊组织实体采用树型结构,一个根文件夹可以拥有多个子文件夹,而子文件夹又可以同时拥有多个子文件夹,以此类推,所有的文件夹就能形成一个树型结构。树形结构指的是数据元素之间存在着“一对多”的树形关系的数据结构,是一类重要的非线性数据结构。在树形结构中,树根结点没有前驱结点,其余每个结点有且只亩宽衡有一个前驱结点。迅做叶子结点没有后续结点,其余每个结点的后续节点数可以是一个也可以是多个。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12117776.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存