怎样用C语言读取数据并存到顺序表(节点为一行的数据)中 形如 123,as,123 23,432,23 sd,as,23 ....

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用C语言读取数据并存到顺序表(节点为一行的数据)中 形如 123,as,123 23,432,23 sd,as,23 ....相关的知识,希望对你有一定的参考价值。

形如这样的a.txt
12,qw,1
12,332,34
12,43,sd

是读取文件里的数据,文件格式为*.DAT,这是我尝试写的 但不对 哪位达人指点一下
#include<stdio.h>
#include<stdlib.h>
#include<string>
struct node

char num[12];
char name[10];
char age[10];
;
void main()

node *a=NULL;
FILE *fin;
char *str;
str = (char*)malloc(sizeof(char) * 80);
fin = fopen("Lab1test.DAT","r");
int i,L;
while(!feof(fin))

int j=0;
fgets(str,80,fin); // 读入一行
L = strlen(str);
for (i=0;i<L;i++) if (str[i]==',')str[i]=' ';; // 逗号变空白
sscanf(str,"%s %s %s",&a->num[j],&a->name[j],&a->age[j]);
j++;

你可以先定义一个字符数组,再往该数组里存储数据呀
int s[i][j]=0;//i是你读取矩阵行数,
for(i=0;i<i;i++)
gets(s[i]);追问

文件格式是DAT 貌似定义一个结构体来充当顺序表的节点

参考技术A 用数组和指针

C语言怎样将数字从文件里逐个读取出来

文件里是这样的数字,怎样逐个读取出来并相加

可以通过fscanf,从文件中依次读取数据。
当fscanf返回EOF时,表示读到文件结尾,这时停止读取即可。
以文件中存储的为空格分隔的整型字符为例,可以写作:
while(fscanf(fp,"%d",&n) != EOF)//从打开的文件指针fp指向的文件读数据,每次读一个整型,直至文件结尾。
printf("%d ", n);
参考技术A 读取想要的数据要根据文本内容具体来实现,要是你图中的格式的话就简单了,只需要一行一行的读就可以了,每读一行进行一次数据转换,要是每行中有不同的数据,就要进行一些分析,不需要的直接就不用管 参考技术B #include <stdio.h>
void main()

FILE *fp=fopen("data.txt","r");
int sum=0,x=0;
while( fscanf(fp,"%d", &x ) ==1 )

sum += x ;

fclose(fp);
printf("sum=%d\n", sum );
本回答被提问者采纳

以上是关于怎样用C语言读取数据并存到顺序表(节点为一行的数据)中 形如 123,as,123 23,432,23 sd,as,23 ....的主要内容,如果未能解决你的问题,请参考以下文章

C语言中如何从TXT文件中读出数据并存放到线性链表中

C语言读取1位的BMP图

C语言怎样将数字从文件里逐个读取出来

C语言怎么做到从文件中读取一行数据,然后改变这一行内容

C语言文件操作问题,怎样替换文件中一行数据

c语言中怎样在文件写入时换行?