您的位置:

c语言文件读取并写入结构体,C语言读取文件赋给结构体

本文目录一览:

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

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

#includestdio.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\n");

return 0;

}

while(!feof(data)){

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

}

fclose(data);

for(int j=0;ji;j++){

}

return 0;

}

扩展资料

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

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

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

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

struct

data

{

int

x;

doub

y;

}

d;

find.xd.y;

fread((char*)(d),

sizeof(data),

1,

fin);

c语言怎么把一个结构体存入文件,在把文件读取怎

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;

}

c语言,怎么从文件读取数据到结构体,求助

C 结构体

实现读取文件并保存到结构体代码:

#include<stdio.h>

#include<stdlib.h>

//文件操作格式化读取保存到结构体数组

#defineBUFSIZE1000

structdata

charG[4];

floatXs;//起点坐标

floatYs;

floatE;

};

intmain()

FILE*fp;

inti,j,r_n=0;

charbuf[BUFSIZE],c;

//打开文件

fp=fopen("E:\\line.txt","r");

if(fp==NULL)

printf("Cannotopenfile!\n");

return1;

//计算文件中数据的行数

while(!feof(fp))

{c=fgetc(fp);

if(c=='\n')

r_n++;

printf("r_n=%d\n",r_n);

rewind(fp);//将指针重置到第一行

structdata*line1=NULL;

line1=(structdata*)malloc(sizeof(structdata)*(r_n+1));//创建一个结构体含有(r_n+1)个数据

for(i=1;i<=r_n;i++)

fgets(buf,BUFSIZE,fp);//一次读取一行

sscanf(buf,"%sX%fY%fE%f",&line1[i].G,&line1[i].Xs,&line1[i].Ys,&line1[i].E);//分别跳过XYE读取数据

//关闭文件

fclose(fp);

for(i=1;i<=r_n-1;i++)

printf("\n%s%.3f%.3f%.3f",line1[i].G,line1[i].Xs,line1[i].Ys,&line1[i].E);

free(line1);//释放

return0;

运行效果:

扩展资料:

函数sscanf(),它是C语言中从一个字符串中读进与指定格式相符的数据的函数。

函数原型:

intsscanf(stringstr,stringfmt,mixedvar1,mixedvar2...);

intscanf(constchar*format[,argument]...);

sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。

其中的format可以是一个或多个{%[*][width][{h|l|I64|L}]type|''|'\t'|'\n'|非%符号}

注:

1、*亦可用于格式中,(即%*d和%*s)加了星号(*)表示跳过此数据不读入.(也就是不把此数据读入参数中)

2、{a|b|c}表示a,b,c中选一,[d],表示可以有d也可以没有d。

3、width表示读取宽度。

4、{h|l|I64|L}:参数的size,通常h表示单字节size,I表示2字节size,L表示4字节size(double例外),l64表示8字节size。

5、type:这就很多了,就是%s,%d之类。

6、特别的:%*[width][{h|l|I64|L}]type表示满足该条件的被过滤掉,不会向目标参数中写入值

支持集合操作:

%[a-z]表示匹配a到z中任意字符,贪婪性(尽可能多的匹配)

%[aB']匹配a、B、'中一员,贪婪性

%[^a]匹配非a的任意字符,贪婪性

c语言文件读取并写入结构体,C语言读取文件赋给结构体

2022-11-28
c语言结构体读写到二进制文件,C++二进制文件的读取与写入

2022-11-28
c语言给结构体赋初值,C语言赋初值

2022-11-28
c语言json结构体,c语言结构体转json

2022-11-22
c语言总体结构,c语言的总体结构是怎样的

2022-12-01
c语言结构体,c语言结构体typedef

2022-11-22
一篇c语言笔记,c语言入门笔记

2022-12-02
c语言读取文件里面数据,c语言如何读取文件中的数据

2023-01-05
基础c语言笔记,C语言笔记

2023-01-06
c语言读取中文文件,C语言读文件

2022-11-26
c语言写入文件跳过空格,c语言读取文件内容跳过空格

2023-01-04
c语言知识笔记,c语言最全笔记

2023-01-04
c语言语言结构,C语言中的结构

2023-01-05
c语言结构体体,c语言结构体包含结构体

本文目录一览: 1、c语言结构体是什么? 2、结构体c语言是什么? 3、c语言里面的结构体是什么意思 4、结构体c语言是什么? 5、c语言结构体有哪些? c语言结构体是什么? c语言结构体是:C语言结

2023-12-08
c到c语言笔记,cc在c语言

2022-11-27
c语言结构体未命名,c语言结构体指针

2022-11-24
c语言fread读取大文件出错,fread读取失败

2023-01-08
c语言读到文件末尾,c语言文件结尾

2023-01-08
java读二进制文件中结构体,java读取二进制文件内容

2022-11-23
c语言中有哪些语法结构,c语言的基本结构

本文目录一览: 1、C语言是否具有自身结构和语法? 2、计算机c语言基础知识 3、C语言的基本语法有哪些? 4、c语言结构体有哪些? 5、c语言语法有哪三种结构 C语言是否具有自身结构和语法? 任何编

2023-12-08