”本気で”エンジニアを目指すなら『TECH BOOST』キャリアから逆算された講座内容で、あなたの未来をサポートします!

【C言語超入門(第42回)】コマンドラインから引数を渡してみよう

Pocket

あなたはコマンドライン(キーボードだけで操作する画面ーーコマンドプロンプトやターミナルなどーー)を使って、
次のようなコマンド入力をしたことはありませんか?

このcpコマンドやcopyコマンドを実行しますと、ファイル1をファイル2にコピーします。

C言語を使いますと、このようなコマンドラインのプログラムを簡単に作ることができます。

ポイントになるのは、プログラムに、ファイル名を入力する処理です。

これまでC言語超入門では、キーボードから対話形式でデータを入力する方法や、
ファイルからデータを入力する方法についてお伝えしてきました。

・ 【C言語超入門(第28回)】入出力の方法を学ぼう
・ 【C言語超入門(第41回)】ファイルからの入出力の方法を学ぼう(文字列の入出力編)

今回のC言語超入門では、プログラムの実行ファイルにパラメータを付与してプログラムに読み込ませる方法をご紹介いたします。

ファイルをコピーするプログラムを作ってみよう

冒頭でご紹介しましたファイルをコピーするコマンドラインプログラム(cpやcopy)と同じプログラムを、
実際に作ってみましょう。

以下は、ファイルをコピーするサンプルプログラムです。

コマンドラインから引数を渡すには決まり文句がある

C言語においてコマンドラインから引数を渡す場合には、次の決まり文句があります。

変数argcには引数の数、配列argvには引数文字列が格納されます。

上記のサンプルプログラムの実行例であれば、変数argc、配列argvには、次のように情報が入ります。

気を付けたいポイントは、argv[0]には実行ファイル名が入ることです。

なお、変数名は任意の名前を付けることができますが、多くのプログラマーがargc、argvを使っているようです。

特別な事情が無い限り、コマンドラインから引数を渡す場合は、決まり文句として

と記述するほうがよいでしょう。

なお、変数argcや配列argvに格納されるデータは、次のプログラムを使うことで確認できますので、ご活用くださいませ。

C言語超入門の第42回まとめ

さて今回のC言語超入門では、コマンドラインから引数を渡す方法についてご紹介しましたが、いかがでしたでしょうか。

最後にもう一度、コマンドラインから引数を渡す方法についてポイントを整理しておきます。

・ コマンドラインから引数を得るには main(int argc, char *argv[]) という決まり文句がある
・ argcには引数の数、argv[]には引数の文字列が入る
・ argv[0]には実行ファイル名が入る

ステップ・バイ・ステップ。焦らず一歩ずつ進んでいきましょう。

投稿者:プロナビ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

『TECH BOOST』なら、AI、IoT、ブロックチェーンなど最新技術が学べる!今流行りの技術を学んで、新たな一歩を踏み出そう!

プログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る