当前位置:首页 » 编程语言 » c语言写入结构体

c语言写入结构体

发布时间: 2022-08-06 18:27:03

c语言中结构体怎么写

以struct打头,后面可以跟结构体名称,然后大括号中写出结构体组成,比如:
struct Student { int number; float score[5]; };
其中Student就是结构体名称,这个名称可以当作自定义的数据类型来使用
Student a[10];

⑵ C语言 怎么把结构体写入文件

你把结构体转成字符数组或者字符串 保存就行

⑶ C语言怎么把结构体写入文件

一般有两种方法.

structA
{
inta;
floatf;
chars[10];
}m;

为例:

一种是写文本文件

以"w"打开

fprintf(fp,"%d%f%s
",m.a,m.f,m.s);

另一种是写二进制文件.

以"wb"打开

fwrite(&m,sizeof(m),1,fp);

⑷ c语言 怎么将结构体写入文件

最好用2进制方法打开文件,用fwrite 写文件。读时也用用2进制方法打开文件,用fread读.
这样,写的时候按整个结构写,读也按整个结构读,字符串有空白也没关系。
FILE *fp;

fp=fopen("my.dat","wb");
fwrite(&stu,sizeof(stu),1,fp); // 写1个结构
for (i=0;i<10;i++) fwrite(&student[i],sizeof(student),1,fp); // 写10个结构
fclose(fp);

fp=fopen("my.dat","rb");
fread(&stu,sizeof(stu),1,fp); // 读1个结构
for (i=0;i<10;i++) fread(&student[i],sizeof(student),1,fp); // 读 10个结构
fclose(fp);

⑸ c语言中怎么把一个结构体数组写入文件

C语言把一个结构体数组写入文件分三步:

1、以二进制写方式(wb)打开文件

2、调用写入函数fwrite()将结构体数据写入文件

3、关闭文件指针

相应的,读文件也要与之匹配:

1、以二进制读方式(rb)打开文件

2、调用读文件函数fread()读取文件中的数据到结构体变量

3、关闭文件指针

参考代码如下:

#include<stdio.h>
structstu{
charname[30];
intage;
doublescore;
};
intread_file();
intwrite_file();
intmain()
{
if(write_file()<0)//将结构体数据写入文件
return-1;
read_file();//读文件,并显示数据
return0;
}

intwrite_file()
{
FILE*fp=NULL;
structstustudent={"zhangsan",18,99.5};
fp=fopen("stu.dat","wb");//b表示以二进制方式打开文件
if(fp==NULL)//打开文件失败,返回错误信息
{
printf("openfileforwriteerror ");
return-1;
}
fwrite(&student,sizeof(structstu),1,fp);//向文件中写入数据
fclose(fp);//关闭文件
return0;
}

intread_file()
{
FILE*fp=NULL;
structstustudent;
fp=fopen("stu.dat","rb");//b表示以二进制方式打开文件
if(fp==NULL)//打开文件失败,返回错误信息
{
printf("openfileforreaderror ");
return-1;
}
fread(&student,sizeof(structstu),1,fp);//读文件中数据到结构体
printf("name="%s"age=%dscore=%.2lf ",student.name,student.age,student.score);//显示结构体中的数据
fclose(fp);//关闭文件
return0;
}

fwrite(const void*buffer,size_t size,size_t count,FILE*stream);

(1)buffer:指向结构体的指针(数据首地址)
(2)size:一个数据项的大小(一般为结构体大小)
(3)count: 要写入的数据项的个数,即size的个数
(4)stream:文件指针。

⑹ 关于C语言的文件写入结构体数据

结构体写入文件是有前提的,你的结构体中不能出现指针,如果确定结构体中没有指针的话,就可以进行如下操作
typedef struct
{
//中间不能定义指针;
}a;
a var //结构体定义的变量

fwrite(&var, sizeof(a), sizeof(a), hfile);

⑺ c语言将结构体写入文件

谁说fwrite只能写入整形的
fwrite((void*)&variable, 1, sizeof(float), fp);
写结构体入文件时要格外注意对齐格式,最好可以单元素写,单元素读。整个结构体写入的话,如果读出程序对齐格式与写入程序不同,那读出来的数据一定是错的。

⑻ C语言 怎么把文件中的信息储存到结构体数组中

write(&cus[i],sizeof(struct
client),1,fp)
是什么意思
答:c语言把一个结构体数组写入文件分三步:
1、以二进制写方式(wb)打开文件
2、调用写入函数fwrite()将结构体数据写入文件
3、关闭文件指针
相应的,读文件也要与之匹配:
1、以二进制读方式(rb)打开文件
2、调用读文件函数fread()读取文件中的数据.

⑼ C语言怎样将.txt文件中的数据写入到结构体中去

txt文件中的数据写入到结构体中去的源代码如下:

#include<stdio.h>

#include <string.h>

//可以退出的头文件

#include <stdlib.h>

//结构体的长度

#define DATALEN 15

//函数声明

//定义结构数组

struct wordUnit{

int id; //id

char word[10]; //词语

char depId[10]; //依存词语的id

char pos[10]; //词性

char depRel[10]; //依存目标的关系

};

int main(){

FILE *data;//要读取的文件指针

int i=0;//结构题数组移动

struct wordUnit words[DATALEN];

if((data=fopen("data3.txt","r"))==NULL){

printf("Can not open file ");

return 0;

}

while(!feof(data)){

//原txt文档的数据之间是以空格隔开的

}

fclose(data);

for(int j=0;j<i;j++){

}

return 0;

}

(9)c语言写入结构体扩展阅读

1、使用关键字struct,它表示接下来是一个结构体。

2、后面是一个可选的标志(book),它是用来引用该结构体的快速标记。

热点内容
opengl服务器源码 发布:2025-01-22 15:40:02 浏览:908
python部署服务 发布:2025-01-22 15:38:46 浏览:282
压缩机卡装 发布:2025-01-22 15:37:04 浏览:446
每天跑步40分钟可以缓解压力吗 发布:2025-01-22 15:33:24 浏览:448
线性表的链式存储结构与顺序存储 发布:2025-01-22 15:32:45 浏览:295
解压缩大师 发布:2025-01-22 15:26:51 浏览:386
xp访问win7共享打印机无权限 发布:2025-01-22 15:23:22 浏览:830
python中pandas 发布:2025-01-22 15:21:42 浏览:639
编程系列书 发布:2025-01-22 15:10:16 浏览:402
北京电脑服务器托管物理机 发布:2025-01-22 15:10:05 浏览:782