logo

Drucken des Quellcodes eines C-Programms selbst

Das Drucken des Quellcodes eines C-Programms selbst unterscheidet sich vom Quine-Problem. Hier müssen wir jedes C-Programm so modifizieren, dass es den gesamten Quellcode ausgibt. 

Empfohlen: Bitte probieren Sie Ihren Ansatz aus {geht} bevor Sie mit der Lösung fortfahren.

Ansatz

  1. Verwenden Sie das vordefinierte Makro __FILE__, um den Speicherort der Datei zu ermitteln.
  2. Öffnen Sie die Quellcodedatei im Lesemodus und rufen Sie den Dateizeiger fptr ab. Überprüfen Sie, ob die Datei erfolgreich geöffnet wurde oder nicht.
  3. Lesen Sie den gesamten Inhalt der Datei mit der do-while-Schleife und fgetc.
  4. Schließen Sie die Datei mit der Funktion fclose.

1. FILE-Makromethode (Dateinamen drucken)

Wir können die Konzepte der Dateiverwaltung nutzen, um den Quellcode des Programms als Ausgabe auszudrucken. Die Idee besteht darin, den Inhalt derselben Datei anzuzeigen, in der Sie den Quellcode schreiben. Der Speicherort einer C-Programmierdatei ist in einem vordefinierten Makro __FILE__ enthalten.

Unten ist das C-Programm zur Verwendung von __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__); }  


Die Ausgabe des obigen Programms ist der Speicherort dieser C-Datei. 



Ausgabe des Programms 1' title=

Durchführung

Das folgende Programm zeigt den Inhalt dieser bestimmten C-Datei (Quellcode) an, da __FILE__ den Speicherort dieser C-Datei in einer Zeichenfolge enthält. 

2. Zeigen Sie das Programm an

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

Ausgabe:

Quiz erstellen