读取具有变量相关名称的文件

时间:2019-06-14 21:29:01

标签: c++ printf

我试图读取具有变量相关名称的文件,然后写入矩阵;我正在使用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

0 个答案:

没有答案