读书人

文件读取

发布时间: 2012-02-14 19:19:19 作者: rapoo

文件读取求助,急急急
我现在有个数据文件
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也可以读一行.

读书人网 >C语言

热点推荐