C プログラム自体のソース コードを出力することは、Quine の問題とは異なります。ここでは、ソース コード全体を出力するように C プログラムを変更する必要があります。
推奨: あなたのアプローチを試してみてください {行きます} 解決策に進む前に、まず。
アプローチ
- ファイルの場所を取得するには、事前定義マクロ __FILE__ を使用します。
- ソースコードファイルを読み取りモードで開き、ファイルポインタ fptr を取得します。ファイルが正常に開かれたかどうかを確認します。
- do-while ループと fgetc を使用して、ファイルのすべての内容を読み取ります。
- 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 ファイルの場所です。

実装
次のプログラムは、__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; }
出力:
クイズの作成