c语言怎么把文件中没有对齐的2列数据的放到一个结构体中

数据是这样的 图一放到结构体
struct proteinatlas{
char name[8];
char nature1[31];
}pro[10];
急急急~~~~

这个很简单,首先用fgets获取一行,然后用一个for循环遍历该行,在第一个空格或者TAB出记录位置并将其改为'\0',然后break,这是该行就被切割成两段了,分别用strcpy复制到对应的地方就OK了
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-01-07
1。如果你知道存入文件的第一个结构是什么类型的,此种就非常方便了,自己根据 从文件读出的第一个结构里面的下个结构指针 来读文件中下个结构。
2。如果你不知道存入文件的第一个结构式啥类型,但又想分三个结构来存取,那你只能在每个结构里面加上一个变量来区分是什么结构,这样在读文件之前先读出这个变量,根据其值来判断结构类型追问

第一个就是这种字母数字混搭 然后长度还不一样的。。。

本回答被网友采纳

c语言怎么把文件中没有对齐的2列数据的放到一个结构体中
这个很简单,首先用fgets获取一行,然后用一个for循环遍历该行,在第一个空格或者TAB出记录位置并将其改为'\\0',然后break,这是该行就被切割成两段了,分别用strcpy复制到对应的地方就OK了

C语言怎样将.txt文件中的数据写入到结构体中去
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(in...

C语言如何从文件中读取定界不定长的数据记录到结构体中?
所以,一种方式是一次把文件的所有内容读入缓冲区,再进行逐节的解析。另一种方式是一次读一段比一节更长的数据段入缓冲区,一次解析一个结构体出来。

C语言 如何把文件里面的内容存到结构体数组里面
需要使用文件操作函数fwrite和fread。读物文件并写入结构体,同时保存文件的代码如下:1、写 FILE* fp = fopen("card.dat", "wb");for(int i = 0; i < counts; i++){fwrite(&card[i], sizeof(struct card), 1, fp);}fclose(fp);2、读 FILE* fp = fopen("card.dat", "rb");in...

c语言入门代码009 从 txt 文本文件中加载数据到结构体数组
第一步,通过fopen函数以读取模式打开文件,准备从文件头部获取数据。第二步,文件中逐个读取结构体字段,并将数据保存到数组中,直到文件结尾。feof函数用于检测文件是否达到末尾,判断是否需要结束循环。在读取数据时,使用fscanf函数,与scanf相似,但添加了文件指针参数,用于在文件内容中执行读取操作。数据...

c语言,怎么从文件读取数据到结构体,求助
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++...

C语言怎么将结构体的内容复制到另一个结构体中
C并不支持结构体变量的直接赋值,一般采用memcpy(&a,&b,sizeof(a))的方式

c语言如何在多个c文件里同时使用一个结构体?
可以使用全局变量,例如:头文件声明:struct MyStruct{...}; 在源文件3声明定义变量:Mystruct my_1; 在原文件1,2的文件头声明,extern Mystruct my_1(表示该变量是在其它文件中声明定义的),那么这三个文件使用的都是同一个全局变量 ...

C语言中,两种不同的结构体如何放在一个数组中?
用memcpy把结构体拷入数组即可,解析时反过来拷给结构体就行

C语言中如何将未知个数的数存放在一个数组中?
在C语言中数组的定义必须指明维数,即使没有指明维数,也必须进行初始化,编译器通过初始化列表中的元素个数来确定数组的维数,比如下面的代码:int a[] = {1,2,3};虽然没有指明数组的维数,但是编译知道数组a的维数是3(只有三个元素)。要实现未知个数的元素存储于数组中,可以使用malloc()和free...

相似回答