প্রদত্ত কাজ হল লিখিত সি প্রোগ্রাম নিজেই প্রিন্ট করা।
আমাদের একটি সি প্রোগ্রাম লিখতে হবে যা নিজেই প্রিন্ট করবে। সুতরাং, আমরা যে ফাইলটির কোড লিখছি তার বিষয়বস্তু প্রিন্ট করতে আমরা C-তে ফাইল সিস্টেম ব্যবহার করতে পারি, যেমন আমরা কোডটি “code 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; }