Nhiệm vụ được giao là in chính chương trình C đã viết.
Chúng ta phải viết một chương trình C sẽ tự in ra. Vì vậy, chúng ta có thể sử dụng hệ thống tệp trong C để in nội dung của tệp mà chúng ta đang viết mã, giống như chúng ta đang viết mã trong tệp “mã 1.c”, vì vậy chúng ta mở tệp ở chế độ đọc và đọc. tất cả nội dung của tệp và in kết quả trên màn hình đầu ra.
Tuy nhiên, trước khi mở tệp ở chế độ đọc, chúng ta phải biết tên của tệp mà chúng ta đang viết mã. Vì vậy, chúng ta có thể sử dụng “__FILE__” là macro và theo mặc định, trả về đường dẫn của tệp hiện tại.
Ví dụ cho macro “__FILE__”
#include<stdio.h> int main() { printf(“%s”, __FILE__); }
Chương trình trên sẽ in ra nguồn của tệp trong đó mã được viết
Macro __FILE__ trả về một chuỗi có đường dẫn của chương trình hiện tại mà macro này được đề cập.
Vì vậy, khi chúng tôi hợp nhất nó vào hệ thống tệp để mở tệp hiện tại mà mã đang ở chế độ đọc, chúng tôi sẽ làm như thế -
fopen (__ FILE__, “r”);
Thuật toán
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
Ví dụ
#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; }
Đầu ra
#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; }