>  기사  >  백엔드 개발  >  C 프로그램 자체의 소스 코드 인쇄

C 프로그램 자체의 소스 코드 인쇄

WBOY
WBOY앞으로
2023-08-29 17:05:07964검색

C 프로그램 자체의 소스 코드 인쇄

주어진 작업은 작성된 C 프로그램 자체를 인쇄하는 것입니다.

스스로 인쇄하는 C 프로그램을 작성해야 합니다. 따라서 "code 1.c" 파일에 코드를 작성하는 것처럼 C의 파일 시스템을 사용하여 코드를 작성한 파일의 내용을 인쇄할 수 있으므로 파일을 읽기 모드로 열고 파일 전체를 읽습니다. 내용을 확인하고 결과를 출력 화면에 인쇄합니다.

그러나 읽기 모드에서 파일을 열기 전에 코드를 작성 중인 파일의 이름을 알아야 합니다. 따라서 기본적으로 현재 파일의 경로를 반환하는 "__FILE__" 매크로를 사용할 수 있습니다.

"__FILE__" 매크로의 예

#include<stdio.h>
int main() {
   printf(&ldquo;%s&rdquo;, __FILE__);
}

위 프로그램은 코드가 있는 파일의 소스 코드를 인쇄합니다.

매크로 __FILE__은 언급된 현재 프로그램의 경로가 포함된 문자열을 반환합니다.

그래서 코드가 읽기 전용 모드인 현재 파일을 열기 위해 파일 시스템에 병합할 때 다음과 같이 할 수 있습니다. -

fopen(__FILE__, "r");

Algorithm

Start
Step 1-> In function int main(void)
   Declare a character c
   Open a FILE &ldquo;file&rdquo; &ldquo;__FILE__&rdquo; in read mode
   Loop do-while c != End Of File
      Set c = fgetc(file)
      putchar(c)
   Close the file &ldquo;file&rdquo;
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;
}

Output

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

위 내용은 C 프로그램 자체의 소스 코드 인쇄의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제