c语言读取txt文件二维数组中的相关数据后把相关数据存入一个新文件,求大神指点
问题详细描述:
在下面txt文件中的二维数组中,后面五列整数是索引信号,为了得到相同信号下的前个浮点数,然后把这些相同信号下的两列浮点数存入一个新的txt文件中,是一个多行两列的二维数组。例如,把所有“6 0 1 0 0”后缀信号的前两个浮点数存入一个新的txt文件里,为一个多行两列的二维数组。
txt文件中的数据(前面两列是浮点数,后面的五列是整数。):
2.170000 0.250000 7 0 1 0 0
2.150000 0.250000 7 0 0 0 0
2.140000 0.250000 7 0 0 0 0
2.090000 0.250000 6 0 1 0 0
2.070000 0.250000 6 0 0 0 0
2.060000 0.250000 6 0 0 0 0
2.050000 0.250000 6 0 0 0 0
2.040000 0.250000 6 0 1 0 0
2.030000 0.250000 6 0 1 0 0
2.020000 0.250000 6 0 1 0 0
2.010000 0.250000 6 0 0 0 0
2.000000 0.250000 6 0 1 0 0
1.990000 0.250000 6 0 0 0 0
1.980000 0.250000 6 0 1 0 0
1.970000 0.250000 6 0 1 0 0
1.960000 0.250000 6 0 0 0 0
1.950000 0.250000 6 0 0 0 0
1.940000 0.250000 6 0 1 0 0
1.930000 0.250000 6 0 0 0 0
1.920000 0.250000 6 0 1 0 0
1.910000 0.250000 6 0 0 0 0
1.900000 0.250000 6 0 0 0 0
1.890000 0.250000 6 0 0 0 0
1.880000 0.250000 6 0 1 0 0
1.870000 0.250000 6 0 0 0 0
1.860000 0.250000 6 0 0 0 0
1.850000 0.250000 6 0 0 0 0
1.840000 0.250000 6 0 1 0 0
1.830000 0.250000 6 0 0 0 0
1.820000 0.250000 6 0 1 0 0
1.810000 0.250000 6 0 0 0 0
1.800000 0.250000 6 0 0 0 0
1.790000 0.250000 6 0 0 0 0
1.780000 0.250000 6 0 1 0 0
1.770000 0.250000 6 0 1 0 0
2.160000 0.248500 7 0 1 0 0
2.090000 0.248500 6 0 0 0 0
2.080000 0.248500 6 0 0 0 0
2.070000 0.248500 6 0 1 0 0
2.060000 0.248500 6 0 1 0 0
2.050000 0.248500 6 0 0 0 0
2.040000 0.248500 6 0 0 0 0
2.030000 0.248500 6 0 1 0 0
2.020000 0.248500 6 0 0 0 0
2.010000 0.248500 6 0 0 0 0
2.000000 0.248500 6 0 1 0 0
1.990000 0.248500 6 0 0 0 0
1.980000 0.248500 6 0 0 0 0
1.970000 0.248500 6 0 0 0 0
1.960000 0.248500 6 0 0 0 0
1.950000 0.248500 6 0 1 0 0
1.940000 0.248500 6 0 1 0 0
1.930000 0.248500 6 0 0 0 0
1.920000 0.248500 6 0 1 0 0
1.910000 0.248500 6 0 0 0 0
1.900000 0.248500 6 0 0 0 0
1.890000 0.248500 6 0 0 0 0
1.880000 0.248500 6 0 1 0 0
1.870000 0.248500 6 0 1 0 0
1.860000 0.248500 6 0 1 0 0
1.850000 0.248500 6 0 0 0 0
1.840000 0.248500 6 0 1 0 0
1.830000 0.248500 6 0 0 0 0
1.820000 0.248500 6 0 0 0 0
1.810000 0.248500 6 0 0 0 0
1.800000 0.248500 6 0 0 0 0
1.790000 0.248500 6 0 0 0 0
1.780000 0.248500 6 0 0 0 0
1.770000 0.248500 6 0 1 0 0
2.500000 0.247000 7 0 0 0 0
2.190000 0.247000 7 0 1 0 0
2.140000 0.247000 7 0 1 0 0
2.070000 0.247000 6 0 1 0 0
2.060000 0.247000 6 0 0 0 0
2.050000 0.247000 6 0 1 0 0
2.040000 0.247000 6 0 0 0 0
2.030000 0.247000 6 0 0 0 0
2.020000 0.247000 6 0 1 0 0
2.010000 0.247000 6 0 0 0 0
2.000000 0.247000 6 0 1 0 0
1.990000 0.247000 6 0 0 0 0
1.980000 0.247000 6 0 0 0 0
1.970000 0.247000 6 0 1 0 0
我的程序(很有问题):
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#define n 396
#define m 7
void main()
{
errno_t err0, err1;
FILE* fp0, *fp1;
if ((err0 = fopen_s(&fp0, "F:\\ a1.txt", "r")) != 0)
{
printf("Cannot open this file\n");
exit(0);
}
if ((err1 = fopen_s(&fp1, "F:\\6-0-1-0-0.txt", "w")) != 0)
{
printf("Cannot open this file\n");
exit(0);
}
int i, j;
double data[n][m] = {0};
for (i = 0; i < n; i++)
{
for (j = 2; j < m; j++)
{
fscanf_s(fp0, "%d", &data[i][j]);
printf("%d %d %d %d %d \n", data[i][j]);
if (data[i][3] == 6 && data[i][4] == 0 && data[i][5] == 1 && data[i][6] == 0 && data[i][7] == 0)
fprintf(fp1, "%f %f %d %d %d %d %d \n",data[i][j]);
}
}
fclose(fp0);
fclose(fp1);
system("pause");
}