Computer >> Máy Tính >  >> Lập trình >> lập trình C

Nguồn in của chính chương trình C

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