C Program to Display its own Source Code as Output

To understand this example, you should have the knowledge of the following C programming topics:


Though this problem seems complex, the concept behind this program is straightforward; display the content from the same file you are writing the source code.

Procedure to display its own source code in C programming

In C programming, there is a predefined macro named __FILE__ that gives the name of the current input file.

#include <stdio.h>
int main() {

   // location the current input file.
   printf("%s",__FILE__);
}

C program to display its own source code

#include <stdio.h>
int main() {
    FILE *fp;
    int c;
   
    // open the current input file
    fp = fopen(__FILE__,"r");

    do {
         c = getc(fp);   // read character 
         putchar(c);     // display character
    }
    while(c != EOF);  // loop until the end of file is reached
    
    fclose(fp);
    return 0;
}