Skrive ut kildekoden til et C-program selv
Å skrive ut kildekoden til et C-program i seg selv er forskjellig fra Quine-problemet. Her må vi endre et hvilket som helst C-program på en måte som skriver ut hele kildekoden.
Anbefalt: Prøv tilnærmingen din {går} først før du går videre til løsningen.
Nærme
- Bruk forhåndsdefinert makro __FILE__ for å finne plasseringen til filen.
- Åpne kildekodefilen i lesemodus og få filpekeren fptr. Sjekk om filen er vellykket åpnet eller ikke.
- Les alt innholdet i filen ved å bruke do-while loop og fgetc.
- Lukk filen ved å bruke fclose-funksjonen.
1. FIL-makrometode (skriver ut filnavn)
Vi kan bruke begrepene filhåndtering til å skrive ut kildekoden til programmet som utdata. Tanken er å vise innholdet fra den samme filen du skriver kildekoden. Plasseringen av en C-programmeringsfil er inneholdt i en forhåndsdefinert makro __FILE__.
Nedenfor er C-programmet for å bruke __FILE__:
C // C program to display the // location of the file #include // Driver code int main () { // Prints location of C this C code. printf ( '%s' __FILE__ ); }
Utdataene fra programmet ovenfor er plasseringen av denne C-filen.
Implementering
Følgende program viser innholdet til denne bestemte C-filen (kildekoden) fordi __FILE__ inneholder plasseringen til denne C-filen i en streng.
2. Vis programmet
C // C program that prints its source code. #include // Driver code int main ( void ) { // We can append this code to any C program // such that it prints its source code. char c ; FILE * fp = fopen ( __FILE__ 'r' ); do { c = fgetc ( fp ); putchar ( c ); } while ( c != EOF ); fclose ( fp ); return 0 ; }
Produksjon:
Lag quiz