logo

Ispis izvornog koda samog C programa

Sam ispis izvornog koda C programa razlikuje se od Quineovog problema. Ovdje moramo modificirati bilo koji C program na način da ispisuje cijeli izvorni kod. 

Preporučeno: Isprobajte svoj pristup {ide} prvo prije nego prijeđete na rješenje.

Pristup

  1. Upotrijebite unaprijed definiranu makronaredbu __FILE__ da dobijete lokaciju datoteke.
  2. Otvorite datoteku izvornog koda u načinu čitanja i dohvatite pokazivač datoteke fptr. Provjerite je li datoteka uspješno otvorena ili ne.
  3. Pročitajte sav sadržaj datoteke koristeći do-while petlju i fgetc.
  4. Zatvorite datoteku pomoću funkcije fclose.

1. Makro metoda DATOTEKA (Ispis naziva datoteke)

Možemo koristiti koncepte rukovanja datotekama za ispis izvornog koda programa kao izlaza. Ideja je prikazati sadržaj iz iste datoteke u kojoj pišete izvorni kod. Lokacija C programske datoteke nalazi se unutar unaprijed definirane makronaredbe __FILE__.

Ispod je C program za korištenje __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__); }  


Izlaz gornjeg programa je lokacija ove C datoteke. 



Rezultat programa 1' title=

Provedba

Sljedeći program prikazuje sadržaj ove određene C datoteke (izvorni kod) jer __FILE__ sadrži lokaciju ove C datoteke u nizu. 

2. Prikažite program

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

Izlaz:

Napravi kviz