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ä
- Käytä ennalta määritettyä makroa __FILE__ saadaksesi tiedoston sijainnin.
- Avaa lähdekooditiedosto lukutilassa ja hanki tiedostoosoitin fptr. Tarkista, onko tiedosto avattu onnistuneesti vai ei.
- Lue koko tiedoston sisältö käyttämällä do-while-silmukkaa ja fgetc:tä.
- 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.
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