怎样用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 ....的主要内容,如果未能解决你的问题,请参考以下文章