分类：电脑/网络-程序设计-C/C++
问题：如何在C中删除文件中的某项内容小弟谢谢了同题请指教,共同学习 
同题请指教,共同
回答：除非采用特殊的方式，否则是不可能实现这种效果的。

文件结构是不可能只把其中一部分删除掉，你要把后面的部分搬移到对应的hole上。

通常数据库文件中可以实现删除某掉记录，所采用的方法有，1、设置固定长度的数据结构，文件中每一项的长度是固定，通过在文件中对应项上修改删除标记位来达到删除数据的目的。 2、采用日志记录分析，文件的访问是通过日志来进行的，日志描述文件的状态，也就是说删除操作时记录在日志内，由日志负责提供一个虚拟的文件。


通常楼主的这种要求，我们的做法是：1、在文件中，把要删除的部分后面的内容搬移到删除位置，调用api设置文件结尾位置。 2、如果要删除的东西很零散，搬移的效率会很低，会采用内存数据结构记录，然后再dump到硬盘上。