在二进制文件C上写矩阵

时间:2016-03-17 21:47:42

标签: c binaryfiles

我使用着名的命令fwrite / fread在C中使用一些二进制文件。 我必须写一对数字,每行一对,如下所示:

double values[2];
for (int i=0 ; i<numPairs ; i++){
    values[0]=rand();
    values[1]=rand();
    fwrite(&values, sizeof(double), 2, myFile);
}

其中myFile(顾名思义)我使用fopen()打开的文件。

虽然我有几个问题:

  1. 在二进制文件中,可以在同一行写入2个数字吗?
  2. 如果是的话,这个命令会不会这样做?我一直在寻找答案,但我找不到能证实这一点的东西。数组等没关系,但对于矩阵......?

2 个答案:

答案 0 :(得分:1)

二进制文件没有&#34;行&#34;的概念。 - 这完全取决于你的计划。

目前,您将numPairs*2 double写入文件,一次两个。您可以单独使用每个double,或者将它们全部存储在一个数组中,并通过一次调用fwrite将它们全部写入。

同样,阅读程序可以单独阅读,也可以一次阅读,也可以一次阅读。

答案 1 :(得分:0)

我认为你的意思是文本文件,因为二进制文件不具有只有1和0的列或行,只能用于计算机