今日の人気記事

  1. 10進数を2進数に変換する
  2. 入力した2つの数値の掛け算・割り算する
  3. MacでC言語 - コンパイラ(gcc)のインストール - Xcode - Command Line Tools
  4. 入力した整数が偶数か奇数かを判別する
  5. 入力した自然数の階乗を計算する

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

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

スポンサーリンク

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

自身のソースコードのファイル名を指定するには「__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. 10進数を2進数に変換する
  2. 入力した自然数の階乗を計算する
  3. 入力した2つの数値の掛け算・割り算する
  4. for文 - 1つ飛ばしの繰り返し処理を実行する(奇数・偶数)
  5. 配列に格納した数値を昇順ソートする
  6. サンプルプログラム集
  7. フィボナッチ数の計算する
  8. 2次方程式の解を計算する
  9. 入力した文字がアルファベットか数字かを判定する
  10. 入力した文字列の文字数を表示する(出力)

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