c - Vala/C 反序列化数组

标签 c json vala

我有必须通过管道输入的文本文件输入的数据——该文件在我的大学服务器上运行。

我有两个 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/

相关文章:

c - 指向二维动态数组指针的指针

c - C语言中n个数相加

c - 体系结构 x86_64 : What could be responsible 的 undefined symbol

c - 对 4 个整数大小的数组进行 SSE 操作

python - Pytest 与线划定的 json

javascript - 如何从 Express.js 发布到 api

javascript - PHP 数组作为 jQuery 自动完成的 JSON 响应

vala - 如何从 DataInputStream 读取 8 字节数据并将其解释为 Vala 中的 double

dialog - 我如何使用 Gtk 在对话框中询问用户一些事情?

glib - Vala:cpu数量