C :如何优化复制.txt文件的其余部分

C++: How can I optimize copying the rest of a .txt file?

本文关键字:文件 txt 余部 复制 何优化 优化      更新时间:2023-10-16

我有很大的文本文件,我需要将代码(时间)嵌入到整个文件的一部分中。我是通过迭代 ifstream 到需要插入代码的点,然后继续通过文件的其余部分进行迭代,将数据连续将数据复制到新的 ofStream 文件。

这些文件很大,几乎所有这些简单的副本和粘贴操作都发生在代码插入之后。这需要一段时间才能执行。我想知道是否有一种方法可以优化以批量(而不是在文件的其余部分中逐字迭代)来复制文件的其余部分。这是相关的代码段:

while (!in.eof())
{
    in >> value;
    if ((counter > 392) && (counter < 399) && (timePosition < 6))
    {
        rounded = floorf(value * 1000) / 1000;
        value = rounded + (time[timePosition] * .00001);
        timePosition++;
    }
    out << value << " ";
    counter++;
}

皮特·贝克尔(Pete Becker)的答案就是所需的。

out << in.rdbuf();

现在使用此缓冲销命令在一分钟内执行的内容需要几秒钟。新代码:

while (counter < 399)
{
  in >> value;
  if ((counter > 392) && (counter < 399) && (timePosition < 6))
  {
    rounded = floorf(value * 1000) / 1000;
    value = rounded + (time[timePosition] * .00001);
    timePosition++;
  }
  out << value << " ";
  counter++;
}
out << in.rdbuf();

感谢所有评论的人;您的信息非常丰富,我现在比问这个问题时要了解的更多!