Maison > développement back-end > C++ > le corps du texte

Imprimer le code source d'un programme C lui-même

WBOY
Libérer: 2023-08-29 17:05:07
avant
1019 Les gens l'ont consulté

Imprimer le code source dun programme C lui-même

La tâche confiée est d'imprimer le programme C écrit lui-même.

Nous devons écrire un programme C qui s'imprimera tout seul. Nous pouvons donc utiliser le système de fichiers en C pour imprimer le contenu du fichier dans lequel nous écrivons le code, tout comme nous écrivons du code dans le fichier "code 1.c", nous ouvrons donc le fichier en mode lecture et lisons tout le fichier. contenu et imprimer les résultats sur l’écran de sortie.

Cependant, avant d'ouvrir un fichier en mode lecture, nous devons connaître le nom du fichier pour lequel nous écrivons le code. Par conséquent, nous pouvons utiliser la macro "__FILE__", qui renvoie par défaut le chemin du fichier actuel.

Exemple de macro "__FILE__"

#include<stdio.h>
int main() {
   printf(&ldquo;%s&rdquo;, __FILE__);
}
Copier après la connexion

Le programme ci-dessus imprimera le code source du fichier où se trouve le code

La macro __FILE__ renvoie une chaîne contenant le chemin du programme actuel où il est mentionné.

Ainsi, lorsque nous le fusionnons dans le système de fichiers pour ouvrir le fichier actuel où le code est en mode lecture seule, nous pouvons faire quelque chose comme ceci -

fopen(__FILE__, "r");

Algorithme

Start
Step 1-> In function int main(void)
   Declare a character c
   Open a FILE &ldquo;file&rdquo; &ldquo;__FILE__&rdquo; in read mode
   Loop do-while c != End Of File
      Set c = fgetc(file)
      putchar(c)
   Close the file &ldquo;file&rdquo;
Stop
Copier après la connexion

Exemple

#include <stdio.h>
int main(void) {
   // to print the source code
   char c;
   // __FILE__ gets the location
   // of the current C program file
   FILE *file = fopen(__FILE__, "r");
   do {
      //printing the contents
      //of the file
      c = fgetc(file);
      putchar(c);
   }
   while (c != EOF);
   fclose(file);
   return 0;
}
Copier après la connexion
Copier après la connexion

Sortie

#include <stdio.h>
int main(void) {
   // to print the source code
   char c;
   // __FILE__ gets the location
   // of the current C program file
   FILE *file = fopen(__FILE__, "r");
   do {
      //printing the contents
      //of the file
      c = fgetc(file);
      putchar(c);
   }
   while (c != EOF);
   fclose(file);
   return 0;
}
Copier après la connexion
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal