logo

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' title=

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