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
- Na získanie umiestnenia súboru použite preddefinované makro __FILE__.
- 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.
- Prečítajte si celý obsah súboru pomocou cyklu do-while a fgetc.
- 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.
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