How can I delete a file pointed to by a FILE* in C?

前端 未结 5 1532
予麋鹿
予麋鹿 2021-01-19 04:56
#include

int main() {

    FILE* fp;
    fp = fopen(\"temp.txt\", \"w\");
    fprintf(fp, \"Hello, World!\\n\");

    // remove(\"temp.txt\");  this          


        
5条回答
  •  隐瞒了意图╮
    2021-01-19 05:23

    You may want to use the 'FILE * tmpfile(void)' function from stdlib.

    from the man:

    DESCRIPTION

    The tmpfile() function shall create a temporary file and open a corresponding stream. The file shall be automatically deleted when all references to the file are closed. The file is opened as in fopen() for update (w+).

    In some implementations, a permanent file may be left behind if the process calling tmpfile() is killed while it is processing a call to tmpfile().

    An error message may be written to standard error if the stream cannot be opened.

提交回复
热议问题