2

以下代码创建一个文件 file.text 并在文件中打印以下内容“

1 2 
3 4

在控制台上打印值 4 的最有效方法是什么。在实际情况下,我有一个 2000 x 2000 矩阵,我必须访问让我们说值 [2000][1500] 并在控制台上打印相同的值。高效是指指针可以多快到达那里,获取数据并将其发送到显示缓冲区。

#include <stdio.h>
#include <stdlib.h>

int main()
{
   FILE * fp;

   fp = fopen ("file.txt", "w+");
   fprintf(fp, "%s %s %s %d", "1", "2", "\n" "3", 4);


   fclose(fp);

   return(0);
}
4

1 回答 1

1

假设“文件”不必是文本文件,并且要存储的数据不必以矩阵的形式格式化(即包括空格和换行符)。

您可以执行以下操作:

步骤 1. 以二进制模式打开文件。
步骤 2. 使用 . 将矩阵(假设A[2000][2000])数据写入文件中fwrite
第 3 步。现在您的文件已准备就绪,您要读取位置 say 的元素[1500][1000]
第 4 步。这将是((1500*2000) + 1000)th写入文件中的整数,因此用于fseek获取指向该位置的文件指针。
第 5 步:使用 . 从该位置读取整数fread

于 2013-10-10T13:22:03.033 回答