今日の人気記事

  1. printf関数の変換指定子
  2. 多次元配列
  3. 入力した2つの整数を足し算・引き算する
  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. 配列に格納した数値を昇順ソートする
  2. サンプルプログラム集
  3. 入力した2つの数値を交換する
  4. 入力した行列の積(掛け算)を計算する
  5. 2次方程式の解を計算する
  6. 入力した自然数の約数を求める
  7. 入力した文字列の文字数を表示する(出力)
  8. 乱数 - 1〜10のランダムな数値を出力する
  9. for文 - 1つ飛ばしの繰り返し処理を実行する(奇数・偶数)
  10. 入力した整数が偶数か奇数かを判別する

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