Trouble in Opening a File

There is a possibility that when we try to open a file using the function fopen( ), the file may not be opened. While opening the file in “r” mode, this may happen because the file being opened may not be present on the disk at all. And you obviously cannot read a file that doesn’t exist. Similarly, while opening the file for writing, fopen( ) may fail due to a number of reasons, like, disk space may be insufficient to open a new file, or the disk may be write protected or the disk is damaged and so on.
 
Crux of the matter is that it is important for any program that accesses disk files to check whether a file has been opened successfully before trying to read or write to the file. If the file opening fails due to any of the several reasons mentioned above, the fopen( ) function returns a value NULL (defined in “stdio.h” as #define NULL 0). Here is how this can be handled in a program…

#include <stdio.h>
int main()
{
    FILE *fp;
    fp = fopen("textfile1.txt", "r");
    if (fp == NULL)
    {
        puts("cannot open file");
        getchar();
        exit(1);
    }
    getchar();
    return 0;
}