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

Dan*_*l S 1 c file-io

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

我没有文件名,所以我不能再使用fopen(filename, "w")了.

我有stdio.h并且string.h包括在内.

dus*_*uff 7

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

ftruncate(fileno(fh), 0);
Run Code Online (Sandbox Code Playgroud)

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