为什么输出文件与变量的输入不同?

时间:2019-03-29 15:56:37

标签: c

我创建了一个程序,该程序要求原始数据和列,然后要求您将数字放入维数组。此数组将输入数组到文件。当我打开文件时,我看不到数组。

std::enable_if_t<…>

我唯一看到的就是这个

Invalid Characters

2 个答案:

答案 0 :(得分:1)

如果您想要一个数字列表(可能在文件的某种网格中),则至少需要一个如下所示的循环:

for (int i=0; i<n; ++i)
{
    for (int j=0; j<m; ++j)
    {
        fprintf(fp, "%f ", s[i][j]);
    }
    fprintf(fp, "\n");
}

有关格式说明符的文档,请参见fprintf;您可能需要对其进行调整以获得更美观的价值。

再次,请注意,数组从0开始。您的初始读取循环会跳过第一个元素,并在实际数组的末尾进行写操作。

答案 1 :(得分:0)

fprintf("%c", s);fputs不会打印出数组的内容,而是打印出存储在数组指针中的位置,并尝试将其解释为char。您需要打印出正确的值是遍历每个值,并对每个fprintf值使用float,并使用s[i][j]类似于初始化它的方式。

初始化数组的方式也将关闭,因为数组从0开始而不是从1开始。当前,您的for循环永远不会访问s[0][0]s[1][0],依此类推。您的for循环应将i初始化为0,并将条件设为i < n而不是i<=n