首頁 > 後端開發 > C++ > 列印一個C程式本身的原始碼

列印一個C程式本身的原始碼

WBOY
發布: 2023-08-29 17:05:07
轉載
1049 人瀏覽過

列印一個C程式本身的原始碼

給定的任務是列印編寫的C程式本身。

我們必須寫一個C程序,它將列印自身。因此,我們可以在C中使用檔案系統來列印我們編寫程式碼的檔案的內容,就像我們在「code 1.c」檔案中編寫程式碼一樣,所以我們以讀取模式開啟文件,並讀取檔案的所有內容,並將結果列印在輸出畫面上。

但是,在以讀取模式開啟檔案之前,我們必須知道我們正在編寫程式碼的檔案的名稱。因此,我們可以使用「__FILE__」這個宏,預設會傳回目前檔案的路徑。

「__FILE__」巨集的範例

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

上述程式將列印程式碼所在檔案的原始程式碼

巨集__FILE__傳回字串,其中包含目前程式的路徑,它被提及的位置。

因此,當我們將其合併到檔案系統中以唯讀模式開啟程式碼所在的目前檔案時,我們可以像這樣做-

fopen(__FILE__, "r") ;

演算法

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;
}
登入後複製
登入後複製

輸出

#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
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板