Отпечатване на изходния код на самата C програма

Отпечатване на изходния код на самата C програма

Самото отпечатване на изходния код на C програма е различно от проблема Quine. Тук трябва да модифицираме всяка C програма по начин, който да отпечатва целия изходен код. 

Препоръчително: Моля, опитайте своя подход {отива} първо, преди да преминете към решението.

Подход

  1. Използвайте предварително дефиниран макрос __FILE__, за да получите местоположението на файла.
  2. Отворете файла с изходния код в режим на четене и вземете указателя на файла fptr. Проверете дали файлът е отворен успешно или не.
  3. Прочетете цялото съдържание на файла, като използвате цикъла do-while и fgetc.

1. Макрос метод FILE (отпечатване на име на файл)

Можем да използваме концепциите за обработка на файлове, за да отпечатаме изходния код на програмата като изход. Идеята е да се покаже съдържанието от същия файл, в който пишете изходния код. Местоположението на файл за програмиране на C се съдържа в предварително дефиниран макрос __FILE__.

По-долу е C програмата за използване на __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__  );   }      


Резултатът от горната програма е местоположението на този C файл. 



Резултат от програмата 1

Внедряване

Следната програма показва съдържанието на този конкретен C файл (изходен код), тъй като __FILE__ съдържа местоположението на този C файл в низ. 

2. Покажете програмата

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

Изход:

Създаване на тест

Топ Статии

Категория

Интересни Статии