首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

文件读取,

2012-02-14 
文件读取求助,急急急我现在有个数据文件data.txt里面的存放的数据是:1.958.23-0.1040.999500.24-1.64-0.18

文件读取求助,急急急
我现在有个数据文件
data.txt
里面的存放的数据是:

        1.95       8.23   -0.1040.99950
                0.24     -1.64   -0.1820.99982
              -9.01   -15.40     0.4071.00106
                        0.59       0.24   -0.0600.99995
                4.00     -5.78   -0.1070.99865
                  1.91       8.82   -0.0690.99867
                -2.02       4.71   -0.1001.00137
              -4.49     -6.50     0.1511.00082
                        1.28     -2.22   -0.0960.99998

我现在的目的是想把文件中的每一行数据读到一个数组中,如A[4]中,请问在c中如何实验,我实验了好几种都是不行的,麻烦各位给出代码,谢谢!

[解决办法]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fp;
double temp[128] = {0.0};
char *token;
char str[128];
int i = 0;
int j;
fp = fopen( "e:\\input.txt ", "r ");
if( fp == NULL )
{
printf( "can 't read the file\n ");
exit(1);
}
while( fgets(str, 50, fp) != NULL )
{
token = strtok(str, " ");
while( token != NULL )
{
temp[i++] = atof(token);
token = strtok(NULL, " ");
}
for (j=0; j <i; j++)
printf( "%lf\t ", temp[j]);
printf( "\n " );
i = 0;
}
fclose(fp);

system( "pause ");
return 0;
}
/* e:\input.txt */
1.95 8.23 -0.104 0.99950
0.24 -1.64 -0.182 0.99982
-9.01 -15.40 0.407 1.00106
0.59 0.24 -0.060 0.99995
4.00 -5.78 -0.107 0.99865
1.91 8.82 -0.069 0.99867
-2.02 4.71 -0.100 1.00137
-4.49 -6.50 0.151 1.00082
1.28 -2.22 -0.096 0.99998


[解决办法]
应该用r打开, 然后用fread就行了.
fgets也可以读一行.

热点排行