Udskrivning af kildekoden til et C-program i sig selv er forskellig fra Quine-problemet. Her skal vi ændre ethvert C-program på en måde, så det udskriver hele kildekoden.
Anbefalet: Prøv venligst din tilgang {går} først, inden vi går videre til løsningen.
Nærme sig
- Brug den foruddefinerede makro __FILE__ for at få placeringen af filen.
- Åbn kildekodefilen i læsetilstand og få filmarkøren fptr. Kontroller, om filen er blevet åbnet eller ej.
- Læs alt indholdet af filen ved hjælp af do-while loop og fgetc.
- Luk filen med fclose-funktionen.
1. FILE Makro Method (Udskrivning af filnavn)
Vi kan bruge begreberne filhåndtering til at udskrive programmets kildekode som output. Ideen er at vise indholdet fra den samme fil, som du skriver kildekoden. Placeringen af en C-programmeringsfil er indeholdt i en foruddefineret makro __FILE__.
Nedenfor er C-programmet til at bruge __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__); }
Outputtet af ovenstående program er placeringen af denne C-fil.

Implementering
Det følgende program viser indholdet af denne særlige C-fil (kildekode), fordi __FILE__ indeholder placeringen af denne C-fil 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; }
Produktion:
Opret quiz