参考优快云论坛中的:http://bbs.youkuaiyun.com/topics/340043747
利用下面程序完成利用C语言读取txt文档中的数据,并利用二维数据保存。
在visual studio 2010 中实现:
#include<stdio.h>
#include<stdlib.h>
/*
** 将txt文档里面的数据,保存到数组里
*/
#define N 512 //4列
#define L 8 //100行
const char file_name[4096] = "y.txt";
int main(int argc, char *argv[])
{
FILE *fp;
double data[N][L] = {0.0}; //二维数组
int index[N] = {0}; //二维数组列下标
double temp;
int i, j;
int count = 0; //计数器,记录已读出的浮点数
if((fp=fopen(file_name, "rb")) == NULL) {
printf("请确认文件(%s)是否存在!\n", file_name);
exit(1);
}
while(1==fscanf(fp, "%lf", &temp)) {
data[count%N][(index[count%N])++] = temp;
count++;
}
for(i = 0; i < N; i++) {
printf("第%d列元素为: \n", i+1);
for(j = 0; j < L; j++) {
printf("%.7f ", data[i][j]);
}
printf("\n");
}
printf("%5d,%5d",i,j);
fclose(fp);
return 0;
}
#include<stdlib.h>
/*
** 将txt文档里面的数据,保存到数组里
*/
#define N 512 //4列
#define L 8 //100行
const char file_name[4096] = "y.txt";
int main(int argc, char *argv[])
{
FILE *fp;
double data[N][L] = {0.0}; //二维数组
int index[N] = {0}; //二维数组列下标
double temp;
int i, j;
int count = 0; //计数器,记录已读出的浮点数
if((fp=fopen(file_name, "rb")) == NULL) {
printf("请确认文件(%s)是否存在!\n", file_name);
exit(1);
}
while(1==fscanf(fp, "%lf", &temp)) {
data[count%N][(index[count%N])++] = temp;
count++;
}
for(i = 0; i < N; i++) {
printf("第%d列元素为: \n", i+1);
for(j = 0; j < L; j++) {
printf("%.7f ", data[i][j]);
}
printf("\n");
}
printf("%5d,%5d",i,j);
fclose(fp);
return 0;
}