我想在不覆盖任何内容的情况下写入文件。这是一个包含记录的文本文件。当我删除一个特定的记录时,我实际上并没有将它从文件中删除,我只是将信息放在标题中说明它已被删除。我怎样才能做到这一点?如何追加到g ++中的文本开头
回答
无法从头开始重写文件而无法附加到文件的开头部分。它必须走到最后(这是有道理的,因为这就是“追加”这个词的意思)。
如果您希望能够在不为该标记预留空间的情况下将记录标记为已删除,则需要将信息放在末尾或重写所有内容。
更明智的做法的确是预留空间 - 例如在每个记录中放置一个“已删除”字段。
如果我在开始的地方预留空白空间,我可以存储有关删除哪些文件的信息,该怎么办? – neuromancer
@Phenom,这就是他的建议。伟大的想法顺便说一句(+1 @迈克尔)。 – Cam
他建议通过在每条记录中放置一个字段预留空间。我实际上是在谈论保留文件前面的空间。 – neuromancer
一个可行的办法是,如果有这些记录中通常dissallowed某些字符(好像每个文件是一个记录 - 请纠正我,如果我错了):
使用这些字符结合一些单词标记的编号(例如,##已删除#或#000,如果#是记录中通常不允许的字符)。
然后,只需改写记录开始处发生的任何事情;它已被删除,因此覆盖其中一部分并不重要。
另一方面,如果您预计需要恢复'已删除'的文件,这可能不是一个好主意。顺便说一句 - 如果你在文件末尾添加了被删除的标志,请注意,如果你知道文件大小,就很容易检查它 - 只要看看文件的末尾。
- 1. 将文本追加到文件中每行的开头
- 2. 如何在JavaScript中将节点追加到div的开头?
- 3. 追加到数组的开头
- 4. 追加到NSString方法的开头
- 5. 如何将文本追加到文件
- 6. 如何追加到文本文件?
- 7. 如何将文本追加到div的
- 8. 追加值到列表开头
- 9. 如何将文本追加到C++文本文件中?
- 10. 如何将文本追加到黑莓文本文件中
- 11. 追加到S3中的文本文件
- 12. 追加到C中的文本文件
- 13. echo >>风格追加,但到一个文件的开头
- 14. 追加到文本文件
- 15. 如何将文件添加到开头?
- 16. 如何将文本追加到现有的文本文件
- 17. 如何向文件中以“hello”开头的行添加文本
- 18. 如何将文本添加到文件夹中所有文件的开头?
- 19. g ++找不到头文件
- 20. 如何将数据追加到Python 2.7.11中的文本文件?
- 21. 如何将一行文本追加到SQLCMD中的文件
- 22. 如何将文本追加到Objective C中的文件?
- 23. 如何追加到Nativescript中的文件?
- 24. C++在linux中添加头文件-g ++
- 25. 如何使用jQuery将文本追加到文本框的值?
- 26. jQuery ..如何将文本追加到现有文本的末尾?
- 27. 的cron PHP如何阻止头在追加到文件
- 28. 在Python中追加文本到文件
- 29. 如何将文本作为页眉和页脚追加到文件的开头和结尾?
- 30. 追加外部文件到头
我想你是指prepend。 – Cam