c语言中,用二进制读写方式打开外部的某个.txt文件,将多个相同类型的结构体写入这个文件中,现在如果其中有一个结构体信息不想要了,能将其删除吗,如果行,怎么操作?
假设想要删除第二个结构体,则需要将第三个结构体及其之后的数据向前移动一个结构体的大小。具体来说,需要计算第二个结构体的偏移量 offset 和长度 size,并使用 memmove() 函数将后面的数据往前移动。
文本文件是顺序的,如果中间一个要删除,那么必须重新写一遍所有的数据。