Skrive ut kildekoden til et C-program selv

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

  1. Bruk forhåndsdefinert makro __FILE__ for å finne plasseringen til filen.
  2. Åpne kildekodefilen i lesemodus og få filpekeren fptr. Sjekk om filen er vellykket åpnet eller ikke.
  3. Les alt innholdet i filen ved å bruke do-while loop og fgetc.
  4. 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. 

Utgang av programmet 1

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