私はエンジニアでありたい

インプットしたら、アウトプット

プログラム行数カウンターを作る#1

前回の投稿から1週間が経過しました。
実はあの後、急遽地元に帰省。(5連休になったものの、ソースコード1行すら書けず...。)
場所を選ばず作業できるように、ノートPCが欲しくなりました。

 

さて、本題。プログラム行数カウンターを作る。

いつ、どのくらいの行数のプログラム書いたか、記録として残したい。

モチベーションはそんなところ。

 

ひとまず、ざっくりな画を描いてみた。

プログラム行数カウンターのイメージ

【プログラム行数カウンターでやりたいこと】

  • 与えられたプログラムファイルの行数をカウントする
  • 与えられたプログラムファイルで使用されているプログラミング言語を特定する
  • 記録用CSVファイルに、指定した情報を書き込む

【インプット】

  • プログラムファイル
  • 記録用CSVファイル

【アウトプット】

  • 記録用CSVファイル (インプットのものと同一ファイル)

【記録用CSVファイルに記載する情報】

 

今回は、C言語で実装する。

【プログラム行数カウンターでやりたいこと】をする上で、下記2点は発生する。

  • 指定したファイルの読み込み
  • 指定したファイルへの書き込み

なので、まずは fopen / fclose を復習。

一応、動く。

ただし、ブログを書いている途中にfcloseのことで気づいた点が一つ。

これでは、fcloseが異常終了時(戻り値:EOF)の処理がない。

なので、次回の更新までに直す。

 

今日はここまで。

 

【余談】

なぜ、急にプログラム行数カウンターを作ろうと思ったのか。

先日、恩人に今までの感謝を伝えたとき、次のような返事をいただいた。

 

君からの感謝の言葉よりも、

君が書いた10万行のプログラムを見せてもらった方が、私は嬉しい。

君が、エンジニアとして生きたい、という前提があっての話だけれども。

 

アウトプットが少なすぎる私は、

累計であっても、プログラムのソースコードを10万行も書いたことはない。

 

しばらくして、一つの結論を出した。
プログラムの行数を数えるプログラムを書こう。

 

いきなり私が10万行のプログラムを書くことは無理な話。

ただ、プログラムを書くことを続けていけば、

ソースコード累計10万行を書くことは、いつか達成できる。そう思えた。

いつか、累計10万行は書いた、と証明したい。

そのために、いつどのくらい書いていたかを記録として残したくなった。

記録を残すために、プログラム行数カウンターを作ろうと思えた。