logo

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

C 프로그램 자체의 소스 코드를 인쇄하는 것은 Quine 문제와 다릅니다. 여기에서는 전체 소스 코드를 인쇄하는 방식으로 C 프로그램을 수정해야 합니다. 

권장사항: 다음에서 접근 방식을 시도해 보세요. {가다} 먼저 솔루션으로 넘어가기 전에

접근하다

  1. 미리 정의된 매크로 __FILE__을 사용하여 파일 위치를 가져옵니다.
  2. 읽기 모드에서 소스 코드 파일을 열고 파일 포인터 fptr을 가져옵니다. 파일이 성공적으로 열렸는지 확인하십시오.
  3. do-while 루프와 fgetc를 사용하여 파일의 모든 내용을 읽습니다.
  4. fclose 함수를 사용하여 파일을 닫습니다.

1. FILE 매크로 방식(파일명 출력)

파일 처리 개념을 사용하여 프로그램의 소스 코드를 출력으로 인쇄할 수 있습니다. 아이디어는 소스 코드를 작성하는 동일한 파일의 내용을 표시하는 것입니다. C 프로그래밍 파일의 위치는 미리 정의된 매크로 __FILE__ 내에 포함되어 있습니다.

다음은 __FILE__을 사용하는 C 프로그램입니다.

C
 // C program to display the  // location of the file #include  // Driver code int main() {  // Prints location of C this C code.  printf('%s' __FILE__); }  


위 프로그램의 출력은 이 C 파일의 위치입니다. 



프로그램 1의 출력' title=

구현

다음 프로그램은 __FILE__에 이 C 파일의 위치가 문자열로 포함되어 있기 때문에 이 특정 C 파일(소스 코드)의 내용을 표시합니다. 

2. 프로그램 표시

C
// C program that prints its source code. #include   // Driver code int main(void) {  // We can append this code to any C program  // such that it prints its source code.  char c;   FILE *fp = fopen(__FILE__ 'r');    do  {  c = fgetc(fp);  putchar(c);  }  while (c != EOF);    fclose(fp);    return 0; } 

산출:

퀴즈 만들기