What happens to FILE pointer after file is closed?

c, fclose, file

Solution

Since arguments are passed by value there is not way `fclose` could set your file pointer to `NULL`. Since `fclose` probably destroys the `FILE` you have to

- Manually set the file pointer to `NULL` after doing a `fclose` (won't work if you close it in a different function unles you use `FILE **`)

- Don't end up in a situation where you "forget" whether you closed it or not (might be tricky)

Problem

I wish to know what happens to FILE pointer after the file is closed. Will it be NULL? Basically, I want to check if a file has already been closed before closing a file. For example as follows: ``` FILE *f; if(f!=NULL) { fclose(f); } ``` Can I do this or is there any other way to go about it?

Original source