c语言导入结构体文件有哪些|C语言中怎么样把文件里面的数据读入到结构体中

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

整个结构体写入 读出来时整个结构体读出 类型没什么关系 二进制读写还管你变量什么类型

❷ 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语言,文件导入txt,用结构体和链表。

做这个作业起码要40+的积分…………….你分都不给的….没人做的……………….

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

文本文件可以抄一个一袭个的读在分别赋值给结构,如果是二进制数据可以读取一个结构整体,如structdata{intx;douby;}d;fin>>d.x>>d.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语言源程序如下所示:1234567891011121314151617181920212223242526272829303132333435#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语言文件操作,结构体

#include<stdio.h>#defineSCORERADIX0.7typedefstructtagScore{doublem_nSumScore;longm_lACM;intm_nClass;intm_nDone;intm_nScore;charm_strName[15];}SCORE,*PSCORE;intmain(){FILE*fpSrc=NULL,*fpDst=NULL;PSCOREpScore=NULL;longlCnt=0l,i=0l;intnIncr=0;fpSrc=fopen("score.txt","r");if(NULL==fpSrc){/*提示信息*/gotoCLEARNNONE;}fpDst=fopen("rank.txt","w");if(NULL==fpDst){/*提示信息*/gotoCLEARNSRC;}if(EOF==fscanf(fpSrc,"%ld",&lCnt)||lCnt<0l){/*提示信息*/gotoCLEARNALL;}pScore=(PSCORE)calloc(lCnt,sizeof(SCORE));if(NULL==pScore){/*提示信息*/gotoCLEARNALL;}for(i=0l;i<lCnt;++i){if(EOF==fscanf(fpSrc,"%s%ld%d%d%d",pScore[i].m_strName,&pScore[i].m_lACM,&pScore[i].m_nClass,&pScore[i].m_nDone,&pScore[i].m_nScore)){/*提示信息*/break;}pScore[i].m_nSumScore=(double)pScore[i].m_nScore*SCORERADIX;nIncr=pScore[i].m_nClass+pScore[i].m_nDone;if(pScore[i].m_lACM>=80){nIncr=30;}elseif(pScore[i].m_lACM>30){nIncr+=((pScore[i].m_lACM-30)/10)*2;if(nIncr>30){nIncr=30;}}else{/*donothing*/}pScore[i].m_nSumScore+=nIncr;}/*排序*/for(i=0l;i<lCnt;++i){/*……..*/}/*输出*/for(i=0l;i<lCnt;++i){fprintf(fpDst,"%s%f
",pScore[i].m_strName,pScore[i].m_nSumScore);}CLEARNALL:free(pScore);fclose(fpDst);CLEARNSRC:fclose(fpSrc);CLEARNNONE:return0;}

❼ C语言如何将txt文件中的数据存入结构体中

因为结构体它里面有多种数据, 所以如果一个一个保存肯定是麻烦的. 所以, 如果保存的文件不是给用户看的, 而是只为程序所用, 那么直接用二进制方式打开文件, 然后用fwrite把结构的二进制数据写入内存

#include<stdio.h>structdat{inti;charch;doubled;};intmain(){FILE*p=fopen("data.txt","w");if(!p)return0;fwrite(&p,sizeof(p),1,p);fclose(p);}


赞 (0)