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.
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;
}