C语言中怎么样把文件里面的数据读入到结构体中?

C语言中怎么样把文件里面的数据读入到结构体中?,第1张

文本文件可以一个一个的读在分别赋值结构,如果是二进制数据可以读取一个结构整体,

struct

data

{

int

x

doub

y

}

d

fin>>d.x>>d.y

fread((char*)(&d),

sizeof(data),

1,

fin)

1、可以直接用=符号拷贝,但它有一个条件,这里的赋初值不别的数据类型(如 int aa=5)它必须是对结构体中的每个成员以此赋值的。将一个结构体变量的值直接赋给另外一个结构体变量的时候,这两个结构体必须是相同结构体名。

2、不同类型的话,也可以用,一般在做通信方面用的比较多。因为处理协议。发包方按照某个协议结构体填充后,发送;接收方收到时其实是一个很长的字符串。那接收方一般用这种方法:结构体 = (结构体)&字符串, 当然接收方的结构体跟发送方的结构体不一定一样,都是根据协议来的。

先声明一个结构体AAA的实例stru

Struct AAA stru

先用fopen打开文件

FILE * fp=fopen("XXX.txt","rb")

然后用fread读取就行了

fread( &stru, sizeof(Struct AAA), 1 ,fp)


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

原文地址:https://54852.com/sjk/10029301.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存