【发布时间】:2014-01-22 05:35:08
【问题描述】:
标题几乎说明了一切,但仍需详细说明:
如果语言会限制我向文件添加新内容(无论位置如何),我会理解的,因为它会导致碎片化。 但我不明白的是为什么不可能:
- 从最后一行删除内容,类似于从 EOF 中退格。 [ASCII/二进制]
- 擦除文件中间部分的内容 [ASCII/BINARY]
- 将文件中的文本替换为其他相同大小的文本 [ASCII]
- 将文件中的数据替换为其他一些相同大小的数据 [二进制]
还有其他语言支持吗?
编辑:要在 C++ 中执行此操作,您需要读取文件,对变量执行修改,然后创建一个新文件。问题是为什么不能编辑“原始”文件而不是创建另一个文件。
【问题讨论】:
-
你可以做所有这些事情。那么“不可能”是什么意思呢?
-
1. stackoverflow.com/questions/15154263/…,3 和 4:微不足道,2:稍加工作即可。某些语言可能使 2 更容易,但我不知道其中一种。 (真的,ASCII/二进制与这些无关。)
-
您是否期望有预先编写的或标准的库函数来为您完成这些任务?
-
重新编辑:不,您不需要创建新文件。只有 2. 要求您从文件中读取任何内容。
-
@ScarletAmaranth c++ 是静态类型的。