user-0 提问: 求助啊！！。。。关于txt中的文件导入到数组中的问题

回复:
user: user-0
content: 是啊、、、怒谢！！

user: user-1
content: 自己定义一个结构体，然后从文件读取数据，更新到结构体中

user: user-2
content: 22行%d,改为%d;: //in.txt: //07/12/2006;1.25;1.28;1.23;1.24;11362204;111085760.000 //07/13/2006;1.22;1.22;1.07;1.10;18304398;171802096.000 //07/14/2006;1.09;1.19;1.07;1.12;12187752;114498688.000 //07/17/2006;1.10;1.14;1.08;1.12;5623536;52357016.000 //07/18/2006;1.12;1.13;1.09;1.12;4215610;39236372.000 //07/19/2006;1.12;1.12;1.07;1.08;5370469;49774080.000 //07/20/2006;1.09;1.11;1.08;1.09;4441253;41202572.000 //07/21/2006;1.10;1.18;1.09;1.13;7977284;74979888.000 //07/24/2006;1.07;1.19;1.04;1.15;6312648;59374432.000 //07/25/2006;1.15;1.17;1.10;1.11;8795141;82844016.000 //07/26/2006;1.12;1.14;1.08;1.11;7207959;67096544.000 //07/27/2006;1.09;1.15;1.05;1.07;7212810;66774156.000 //07/28/2006;1.07;1.08;1.00;1.03;9094381;82472512.000 //07/31/2006;1.01;1.01;0.93;0.94;9749117;86585360.000 //08/01/2006;0.94;0.97;0.92;0.93;7003191;61438528.000 // #include <stdio.h> #define MAXN 10000 char dt[MAXN][11]; float f1[MAXN]; float f2[MAXN]; float f3[MAXN]; float f4[MAXN]; int d[MAXN]; double lf[MAXN]; FILE *f; char ln[100]; int i,n; int main() {     f=fopen("in.txt","r");     if (NULL==f) {         printf("Can not open file in.txt!\n");         return 1;     }     i=0;     n=0;     while (1) {         if (NULL==fgets(ln,100,f)) break;         n++;         if (7==sscanf(ln,"%10s;%f;%f;%f;%f;%d;%lf",dt[i],&f1[i],&f2[i],&f3[i],&f4[i],&d[i],&lf[i])) {             i++;             if (i>=MAXN) break;         } else {             printf("Line %3d Format error:%s",n,ln);         }     }     fclose(f);     n=i;     for (i=0;i<n;i++) printf("line %3d:%s;%4.2f;%4.2f;%4.2f;%4.2f;%8d;%13.3lf\n",i+1,dt[i], f1[i], f2[i], f3[i], f4[i], d[i], lf[i]);     return 0; } //line   1:07/12/2006;1.25;1.28;1.23;1.24;11362204;111085760.000 //line   2:07/13/2006;1.22;1.22;1.07;1.10;18304398;171802096.000 //line   3:07/14/2006;1.09;1.19;1.07;1.12;12187752;114498688.000 //line   4:07/17/2006;1.10;1.14;1.08;1.12; 5623536; 52357016.000 //line   5:07/18/2006;1.12;1.13;1.09;1.12; 4215610; 39236372.000 //line   6:07/19/2006;1.12;1.12;1.07;1.08; 5370469; 49774080.000 //line   7:07/20/2006;1.09;1.11;1.08;1.09; 4441253; 41202572.000 //line   8:07/21/2006;1.10;1.18;1.09;1.13; 7977284; 74979888.000 //line   9:07/24/2006;1.07;1.19;1.04;1.15; 6312648; 59374432.000 //line  10:07/25/2006;1.15;1.17;1.10;1.11; 8795141; 82844016.000 //line  11:07/26/2006;1.12;1.14;1.08;1.11; 7207959; 67096544.000 //line  12:07/27/2006;1.09;1.15;1.05;1.07; 7212810; 66774156.000 //line  13:07/28/2006;1.07;1.08;1.00;1.03; 9094381; 82472512.000 //line  14:07/31/2006;1.01;1.01;0.93;0.94; 9749117; 86585360.000 //line  15:08/01/2006;0.94;0.97;0.92;0.93; 7003191; 61438528.000 //

user: user-0
content: 28行n=i可以么？...我运行的时候只有press any key to .continue..

user: user-0
content: 我开始想先把他每一行都弄成一个数组 然后再把每一行拆开存入这7个数组中 但是不知道该如何拆。。

user: user-0
content: 最后运行不出来。。。这里不用管分隔符 分号 么？

user: user-2
content: #include <stdio.h> #define MAXN 10000 char dt[MAXN][11]; float f1[MAXN]; float f2[MAXN]; float f3[MAXN]; float f4[MAXN]; int d[MAXN]; double lf[MAXN]; FILE *f; char ln[100]; int i,n; int main() {     f=fopen("in.txt","r");     if (NULL==f) {         printf("Can not open file in.txt!\n");         return 1;     }     i=0;     while (1) {         if (NULL==fgets(ln,100,f)) break;         if (7==sscanf(ln,"%10s;%f;%f;%f;%f;%d,%lf",dt[i],&f1[i],&f2[i],&f3[i],&f4[i],&d[i],&lf[i]) {             i++;             if (i>=MAXN) break;         }     }     fclose(f);     n=i;     for (i=0;i<n;i++) printf("%s;%4.2f;%4.2f;%4.2f;%4.2f;%8d;%12.3lf\n",dt[i], f1[i], f2[i], f3[i], f4[i], d[i], lf[i]);     return 0; }

user: user-0
content: 自顶……求助啊