Interview answers verified by specialists.

Find interview questions and answers on this website:


See right interview answers on 30 common job interview questions

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.

Do you know that?

$750M+ value of work done via oDesk Next

Articles: