假设我有一个包含 x 条记录的文件。一个“块”保存 m 条记录。文件中的总块数 n=x/m。如果我知道一条记录的大小,比如 b 字节(一个块的大小 = b*m),我可以使用系统命令 read() 一次读取完整的块(还有其他方法吗?)。现在,我如何从这个块中读取每条记录并将每条记录作为一个单独的元素放入一个向量中。
我之所以要这样做,首先是为了减少磁盘 i/o 操作。根据我所学到的,由于磁盘 i/o 操作要昂贵得多。还是与我从文件中逐条读取记录并直接将其放入向量而不是逐块读取时所花费的时间相同?在逐块读取时,我将只有 n 个磁盘 I/O,而如果我逐记录读取,则有 x 个 I/O。
谢谢。