也许这个问题看起来很愚蠢...我想对行和列格式化的数据集进行fprintf。我知道到目前为止的程序
for(i=0;i<number_of_rows;i++)
{
for(j=0;j<number_of_columns;j++)
fprintf(file,"%g\t",array[i][j]);
fprintf(file,"\n");
}
该代码的本质是先填充行,然后填充列。我有按列创建的数据集。因此,我想在传递到下一列之前填满每一列。我不知道在运行时之前输出数据的长度是否可以构成正确的2D数组。我需要先打印一整列,然后再打印另一列。我怎样才能做到这一点?
最佳答案
我需要先打印一整列,然后再打印另一列。我怎样才能做到这一点?
那将涉及附加到先前打印的行。而且,您可能知道,将内容添加到文件中涉及重写文件的其余部分。您可能会猜到这将是非常低效的,并且实现起来也很复杂。
我不知道在运行时之前输出数据的长度,以便制作适当的2D数组
如果您的问题是数据的长度,那么我认为通过正确的2D数组,您的意思是打算将列的每个单元格填充为相同的宽度。
在这种情况下,我建议不要浪费时间先写专栏。而是在运行时计算宽度。首先将sprintf
转换为字符串矩阵,然后计算每个单元格的长度。然后使用计算出的长度打印字符串矩阵。
关于c - 如何首先在列中然后在行中打印f?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33688718/