我有必须通过管道输入的文本文件输入的数据——该文件在我的大学服务器上运行。
我有两个 double ,一个一维 double 组和一个二维 double 矩阵。如何将其导入到变量中?
非常感谢!
最佳答案
好吧,您需要想出某种程序可以识别并编写提取的格式。如果只是为了一个程序,可以对数组进行编码,如下所示:
<num> <num> # list of dimensions
<num> <num> <num> ... # array values in the row major order
然后在你的程序中执行如下操作:
size_t m, n;
fscanf (f, "%zu %zu", &m, &n);
float (*array)[m][n] = malloc (sizeof (float) * m * n));
for (size_t i = 0; i < m; i++)
for (size_t j = 0; j < n; j++)
fscanf (f, "%f", &(*array)[i][j]);
这有点难看,因为您需要动态分配多维数组并使用括号引用它,但这样做可以避免索引计算,否则需要手动实现。
关于c - Vala/C 反序列化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19731654/