Itse C-ohjelman lähdekoodin tulostaminen

Itse C-ohjelman lähdekoodin tulostaminen

Itse C-ohjelman lähdekoodin tulostaminen eroaa Quinen ongelmasta. Tässä meidän on muutettava mitä tahansa C-ohjelmaa siten, että se tulostaa koko lähdekoodin. 

Suositus: Kokeile lähestymistapaasi {menee} ensin ennen kuin siirryt ratkaisuun.

Lähestyä

  1. Käytä ennalta määritettyä makroa __FILE__ saadaksesi tiedoston sijainnin.
  2. Avaa lähdekooditiedosto lukutilassa ja hanki tiedostoosoitin fptr. Tarkista, onko tiedosto avattu onnistuneesti vai ei.
  3. Lue koko tiedoston sisältö käyttämällä do-while-silmukkaa ja fgetc:tä.
  4. Sulje tiedosto fclose-toiminnolla.

1. TIEDOSTOMAkromenetelmä (Tiedostonimen tulostus)

Voimme käyttää tiedostonkäsittelyn käsitteitä tulostaaksemme ohjelman lähdekoodin tulosteena. Ajatuksena on näyttää sisältö samasta tiedostosta, jota kirjoitat lähdekoodia. C-ohjelmointitiedoston sijainti sisältyy ennalta määritettyyn makroon __FILE__.

Alla on C-ohjelma käytettäväksi __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__  );   }      


Yllä olevan ohjelman tulos on tämän C-tiedoston sijainti. 

Ohjelman tulos 1

Toteutus

Seuraava ohjelma näyttää tämän tietyn C-tiedoston (lähdekoodin) sisällön, koska __FILE__ sisältää tämän C-tiedoston sijainnin merkkijonossa. 

2. Näytä ohjelma

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

Lähtö:

Luo tietokilpailu