从C中的文件中删除字符

时间:2010-11-20 23:03:33

标签: c

如何使用C程序从文件中删除几个字符?

我找不到任何预定义的功能。

为了理解目的,我试图通过套接字发送文件,如果N个字节成功发送,我想从文件中删除这些字节。最后,该文件将为空。 有效地做任何其他方式吗?

由于 普拉迪普

5 个答案:

答案 0 :(得分:3)

如果它们在最后,请以适当的长度截断文件。如果他们不是那么你需要重写文件。

答案 1 :(得分:1)

对于大型文件,您的方式效率非常低,因为您必须复制"文件的其余部分"一些字节进一步开始,这花费很多。我宁愿记录当前的发送位置"在文件之外的某个地方并更新该信息。这样,您就不必经常复制文件的其余部分。

答案 2 :(得分:1)

没有直接的方法从文件的开头删除字节。您必须从要修剪文件的位置开始,然后从那里读到文件的末尾,写入文件的开头。

在一些其他文件中跟踪已经写入文件的字节数可能更有意义。

答案 3 :(得分:1)

您应该使用指向尚未发送的数据开头的索引。 没有必要删除你发送的内容,只需传递它们,当你发送整个文件时删除它。

答案 4 :(得分:0)

如果char是一个接一个的,那么为什么不尝试 fseek();