कार्य को देखते हुए लिखित सी प्रोग्राम को ही प्रिंट करना है।
हमें एक सी प्रोग्राम लिखना है जो खुद ही प्रिंट हो जाएगा। इसलिए, हम जिस फाइल का कोड लिख रहे हैं, उसकी सामग्री को प्रिंट करने के लिए हम सी में फाइल सिस्टम का उपयोग कर सकते हैं, जैसे हम "कोड 1.c" फाइल में कोड लिख रहे हैं, इसलिए हम फाइल को रीड मोड में खोलते हैं और पढ़ते हैं फ़ाइल की सभी सामग्री और आउटपुट स्क्रीन पर परिणाम प्रिंट करें।
लेकिन, किसी फ़ाइल को रीड मोड में खोलने से पहले, हमें उस फ़ाइल का नाम पता होना चाहिए जिसमें हम कोड लिख रहे हैं। इसलिए, हम "__FILE__" का उपयोग कर सकते हैं जो एक मैक्रो है और डिफ़ॉल्ट रूप से वर्तमान फ़ाइल का पथ लौटाता है।पी>
मैक्रो “__FILE__” के लिए उदाहरण
#include<stdio.h> int main() { printf(“%s”, __FILE__); }
उपरोक्त प्रोग्राम उस फ़ाइल के स्रोत को प्रिंट करेगा जिसमें कोड लिखा गया है
मैक्रो __FILE__ वर्तमान प्रोग्राम के पथ के साथ एक स्ट्रिंग देता है जिसमें इस मैक्रो का उल्लेख किया गया है।
इसलिए, जब हम वर्तमान फ़ाइल को खोलने के लिए इसे फ़ाइल सिस्टम में मर्ज करते हैं जिसमें कोड रीड मोड में है, तो हम इसे पसंद करते हैं -
fopen(__FILE__, "r");
एल्गोरिदम
Start Step 1-> In function int main(void) Declare a character c Open a FILE “file” “__FILE__” in read mode Loop do-while c != End Of File Set c = fgetc(file) putchar(c) Close the file “file” Stop
उदाहरण
#include <stdio.h> int main(void) { // to print the source code char c; // __FILE__ gets the location // of the current C program file FILE *file = fopen(__FILE__, "r"); do { //printing the contents //of the file c = fgetc(file); putchar(c); } while (c != EOF); fclose(file); return 0; }
आउटपुट
#include <stdio.h> int main(void) { // to print the source code char c; // __FILE__ gets the location // of the current C program file FILE *file = fopen(__FILE__, "r"); do { //printing the contents //of the file c = fgetc(file); putchar(c); } while (c != EOF); fclose(file); return 0; }