我试图读取具有变量相关名称的文件,然后写入矩阵;我正在使用sprintf函数,但是它不起作用,我也不知道为什么。
我已经在论坛上这里尝试过其他问题,但是我找不到代码在哪里做错了。
谢谢!
这是我的代码:
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <ctime>
FILE *input_resultado;
constexpr int lin = 12, col = 12;
double OMEGA = 0.1;
char filename_porc[64];
int main()
{
double mat[lin][col];
for (int k = 0; k < lin; k++)
{
for (int m = 0; m < col; m++)
{
printf("%f ", mat[k][m]);
}
printf("\n");
}
sprintf(filename_porc, "(OMEGA = %f) result.dat", OMEGA);
input_resultado = fopen(filename_porc, "r");
printf("\n\n");
for (int i = 0; i < lin; i++)
{
for (int j = 0; j < col; j++)
{
fscanf(input_resultado, "%lf", &mat[i][j]);
printf("%lf ", mat[i][j]);
}
printf("\n");
}
fclose(input_resultado);
getchar();
}
.dat文件中的内容为:
0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-0.5 1 2 3 4 5 6 7 8 9 10 11
-0.4 11 10 9 8 7 6 5 4 3 2 1
-0.3 1 2 3 4 5 6 7 8 9 10 11
-0.2 11 10 9 8 7 6 5 4 3 2 1
-0.1 1 2 3 4 5 6 7 8 9 10 11
0 11 10 9 8 7 6 5 4 3 2 1
0.1 1 2 3 4 5 6 7 8 9 10 11
0.2 11 10 9 8 7 6 5 4 3 2 1
0.3 1 2 3 4 5 6 7 8 9 10 11
0.4 11 10 9 8 7 6 5 4 3 2 1
0.5 1 2 3 4 5 6 7 8 9 10 11