如何在没有文件名的情况下删除文件内容?

时间:2016-03-27 19:05:00

标签: c file-io

我有一个函数,它接受一个文件指针(FILE * file)并复制该文件中的所有内容。现在,是否可以删除此文件中的所有内容?

我没有文件名,因此无法再次使用fopen(filename, "w")

我包含了stdio.hstring.h

1 个答案:

答案 0 :(得分:7)

您可以使用ftruncate()系统调用使用其文件描述符清空文件,例如

ftruncate(fileno(fh), 0);

您可能希望通过调用rewind(fh)来跟进,以便对文件进行任何进一步的写入,而不是在前一个偏移处。