logo

הדפסת קוד מקור של תוכנית C עצמה

הדפסת קוד המקור של תוכנית C עצמה שונה מבעיית Quine. כאן אנחנו צריכים לשנות כל תוכנית C באופן שהיא תדפיס את כל קוד המקור. 

מומלץ: אנא נסה את הגישה שלך {הולך} תחילה לפני המעבר לפתרון.

גִישָׁה

  1. השתמש במאקרו מוגדר מראש __FILE__ כדי לקבל את מיקום הקובץ.
  2. פתח את קובץ קוד המקור במצב קריאה וקבל את מצביע הקובץ fptr. בדוק אם הקובץ נפתח בהצלחה או לא.
  3. קרא את כל תוכן הקובץ באמצעות לולאת ה-do-while ו-fgetc.
  4. סגור את הקובץ באמצעות הפונקציה fclose.

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

יישום

התוכנית הבאה מציגה את התוכן של קובץ 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; } 

תְפוּקָה:

צור חידון