Tisk zdrojového kódu samotného programu C

Tisk zdrojového kódu samotného programu C

Samotný tisk zdrojového kódu programu v C se liší od problému Quine. Zde musíme upravit jakýkoli program v jazyce C tak, aby vytiskl celý zdrojový kód. 

Doporučeno: Vyzkoušejte svůj přístup {goes} nejprve, než přejdete k řešení.

Přístup

  1. K získání umístění souboru použijte předdefinované makro __FILE__.
  2. Otevřete soubor zdrojového kódu v režimu čtení a získejte ukazatel souboru fptr. Zkontrolujte, zda je soubor úspěšně otevřen nebo ne.
  3. Přečtěte si celý obsah souboru pomocí cyklu do-while a fgetc.
  4. Zavřete soubor pomocí funkce fclose.

1. Metoda makra FILE (Tisk názvu souboru)

Můžeme použít koncepty práce se soubory k vytištění zdrojového kódu programu jako výstupu. Cílem je zobrazit obsah ze stejného souboru, ze kterého píšete zdrojový kód. Umístění programovacího souboru C je obsaženo v předdefinovaném makru __FILE__.

Níže je uveden program C pro použití __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ýstupem výše uvedeného programu je umístění tohoto C souboru. 

Výstup z programu 1

Implementace

Následující program zobrazuje obsah tohoto konkrétního souboru C (zdrojový kód), protože __FILE__ obsahuje umístění tohoto souboru C v řetězci. 

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:

Vytvořit kvíz