用c语言对文本文件进行读取:格式是这样的

来源:百度知道 编辑:UC知道 时间:2024/05/21 09:10:18
1 1 1 45.2
1 2 2 46.0
2 3 1 41.8
2 4 2 20.6
3 5 1 23.5
3 1 2 33.1
1 2 1 40.0
1 3 2 39.0
2 4 1 27.8
3 5 2 42.7
我想读取到二维数组里,因为行数列数都不知道,所以应该用什么样的方式进行读取呢?请大家帮帮忙,希望来点思路,如果有具体程序就更好了

因为行数列数都不知道,一行一行处理就可以了
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#define MAXROW 100
#define MAXCOL 10
int main()
{
float input[MAXROW][MAXCOL];
FILE * fp = NULL;
char file[256] = "input.txt";
float tmp;
fp = fopen(file, "r+");
int row = 0;
int col = 0;
char strtmp[256], *str2;
if(fp != NULL){
while(fgets(strtmp, 256, fp)){
str2 = strtmp;
col = 0;
char sp[25], *ptr;
while(ptr = strchr(str2, ' ')){
strncpy(sp, str2, ptr-strtmp);
sp[ptr-strtmp]='\0';
input[row][col++] = atof(sp);
str2 = ptr+1;

}
input[row][col++] = atof(str2);
row ++;
}
}
else<