【发布时间】:2019-02-24 23:10:05
【问题描述】:
我有大型文本文件,需要在文件中嵌入代码(时间)。我通过迭代 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++;
}
【问题讨论】:
-
如果您使用的是 Linux,
split命令可能会更有效。即,将文件一分为二,编写新行,然后将它们重新连接在一起。 -
查看>>的返回值
-
out << in.rdbuf();.
标签: c++ optimization text ifstream ofstream