Hi,
I'm trying to close a file using fclose, but the following program seg-faults:
#include <stdio.h>
int main(void)
{
FILE* fp = fopen("unfounded.txt", "r");
if(fp == NULL)
fclose(fp);
return 0;
}
The file I'm trying to open doesn't exist in the directory, so fp is
indeed NULL. So it's just fclose(NULL).
Is fclose(NULL) legal according to the C standard ? As an end-user I
expect fclose(fp) to close the file (if it is already open) or just do
nothing (if it is not open). So the seg fault -- is this a compiler
bug ?
PS: I hope this is the right place to ask this question.
-- Satish.BD