今日の人気記事

  1. 浮動小数点数型(float型 double型)の最大値と最小値 - float.h
  2. MinGW - gcc の環境設定(パスを通す) - Windows環境
  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. 配列に格納した数値を降順ソートする
  4. 配列に格納した数値を昇順ソートする
  5. 10進数を2進数に変換する
  6. 入力した文字がアルファベットか数字かを判定する
  7. 入力した自然数が素数かどうかを判定する
  8. 乱数 - 1〜10のランダムな数値を出力する
  9. 入力した2つの自然数の最小公倍数を求める
  10. 入力した5教科の最高点と最低点を表示する

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