Do you know that? Explain your process in simplest terms to client next

How can a program be made to print the name of a source file where an error occurs?

The ANSI C standard includes a predefined macro named __FILE__ that can be used to insert the current
source code filename in your program. This macro, like the __LINE__ macro, can
be very valuable when it comes to debugging your program and checking for logic errors. For instance, the
following code, includes the filename as well as the line number when logic errors are trapped:

int print_document(char* doc_name, int destination)
{
     switch (destination)
     {
          case TO_FILE:
               print_to_file(doc_name);
               break;
          case TO_SCREEN:
               print_preview(doc_name);
               break;
          case TO_PRINTER:
               print_to_printer(doc_name);
               break;
          default:
               printf("Logic error on line number %d in the file %s!\n",
                         __LINE__, __FILE__);
               exit(1);
     }
}

Now, any erroneous values for the destination parameter can be trapped, and the offending source file and
line number can be printed.