1

我正在用 C++ 编写工资单程序,需要能够读取文件中的行,进行计算,然后覆盖文件中的读取行。是否有一种功能/方式我可以简单地覆盖特定行,插入新行,添加到现有文件的末尾?

4

1 回答 1

2

没有 C++ 功能可以在文本文件中“插入”或“删除”文本。这样做的唯一方法是读入现有文本,并写出修改后的文本。

如果新文本与旧文本在相同的空间中,您需要做的就是覆盖现有文本 - 当然,您始终可以在 .CSV 文件中的逗号之前/之后添加额外的空格,而不会变成“领域”的一部分。但是如果新数据较长,“就地覆盖”肯定行不通。

ios_base::ate使用修饰符添加到末尾相对容易。但是在中间插入基本上还是要读到找到相关的地方,然后,如果新文本较长,则必须阅读以下所有行才能写出新的。

于 2013-07-31T16:03:40.237 回答