今日の人気記事

  1. コンパイルと実行 - GNU Compiler Collection(gcc) - Linux環境

  2. int main(void) - プログラムの基本

  3. while文 - 繰り返し処理

  4. 配列に格納した数値を昇順ソートする

  5. 条件演算子(3項演算子)「? :」

自身のソースコードの読み込みと出力

当ページのリンクには広告が含まれています。

スポンサーリンク

サンプルプログラムのソースコード自身を読み込んで出力するサンプルプログラムを紹介します。

自身のソースコードのファイル名を指定するには「__FILE__」を使います。

具体的には次のようにファイルをオープンします。

fp = fopen(__FILE__, "r");

あとは「テキストファイルの読み込みと出力」と同じように、プログラムを作成しましょう。

サンプルプログラム

それではサンプルプログラムをみてみましょう。

/*
 * C言語のサンプルプログラム - Webkaru
 * - 自身のソースコードの読み込みと出力 -
 */
#include <stdio.h>

int main(void){

  /* 読み込んだソースコードを格納 */
  char ch;

  /* ファイルポインタ */
  FILE *fp;

  /* ファイルオープン */
  fp = fopen(__FILE__, "r");

  /* ソースコードが適切に読み込まれているかを確認 */
  if( fp == NULL ) {
     perror("読み込みに失敗!\n");
     return 1;
  }

  /* ソースコードの読み込み&出力 */
  printf("▼===== ソースコードの内容 =====▼\n");
  while( ( ch = fgetc(fp) ) != EOF ) {
    printf("%c", ch);
  }

  return 0;
}

実行結果

実行結果です。

▼===== ソースコードの内容 =====▼
/*
 * C言語のサンプルプログラム - Webkaru
 * - 自身のソースコードの読み込みと出力 -
 */
#include 

int main(void){

  /* 読み込んだソースコードを格納 */
  char ch;

  /* ファイルポインタ */
  FILE *fp;

  /* ファイルオープン */
  fp = fopen(__FILE__, "r");

  /* ソースコードが適切に読み込まれているかを確認 */
  if( fp == NULL ) {
     perror("読み込みに失敗!\n");
     return 1;
  }

  /* ソースコードの読み込み&出力 */
  printf("▼===== ソースコードの内容 =====▼\n");
  while( ( ch = fgetc(fp) ) != EOF ) {
    printf("%c", ch);
  }

  return 0;
}

このようにソースコード自身の内容を表示します。

サンプルプログラム の人気記事

  1. 入力した2つの自然数の最大公約数を求める

  2. サンプルプログラム集

  3. 1から1000までの素数を表示する

  4. 10進数を2進数に変換する

  5. 配列に格納した数値を昇順ソートする

  6. 1から1000までの完全数を表示する

  7. 入力した整数が正か負かを判定する

  8. 入力したアルファベットを大文字から小文字に変換する

  9. 配列に格納した数値を降順ソートする

  10. 入力した複数の文字列をソート

関連記事(一部広告含む)