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
- K získání umístění souboru použijte předdefinované makro __FILE__.
- 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.
- Přečtěte si celý obsah souboru pomocí cyklu do-while a fgetc.
- 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.
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