Tlač zdrojového kódu samotného programu C

Tlač zdrojového kódu samotného programu C

Tlač zdrojového kódu samotného programu v jazyku C sa líši od problému Quine. Tu musíme upraviť ľubovoľný program v jazyku C tak, aby vytlačil celý zdrojový kód. 

Odporúčané: Skúste svoj prístup ďalej {IDE} najprv pred prechodom na riešenie.

Prístup

  1. Na získanie umiestnenia súboru použite preddefinované makro __FILE__.
  2. Otvorte súbor zdrojového kódu v režime čítania a získajte ukazovateľ súboru fptr. Skontrolujte, či sa súbor úspešne otvoril alebo nie.
  3. Prečítajte si celý obsah súboru pomocou cyklu do-while a fgetc.
  4. Zatvorte súbor pomocou funkcie fclose.

1. Metóda makra FILE (tlač názvu súboru)

Koncepty spracovania súborov môžeme použiť na tlač zdrojového kódu programu ako výstup. Cieľom je zobraziť obsah z rovnakého súboru, z ktorého píšete zdrojový kód. Umiestnenie programovacieho súboru C je obsiahnuté vo vopred definovanom makre __FILE__.

Nižšie je uvedený program C na použitie __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__  );   }      


Výstupom vyššie uvedeného programu je umiestnenie tohto súboru C. 

Výstup z programu 1

Implementácia

Nasledujúci program zobrazuje obsah tohto konkrétneho súboru C (zdrojový kód), pretože __FILE__ obsahuje umiestnenie tohto súboru C v reťazci. 

2. Zobrazte program

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

výstup:

Vytvoriť kvíz