【C++入門】コマンドライン引数の取得と解析方法をわかりやすく解説
C++のプログラムは、実行時にコマンドラインから値を受け取ることができます。この値はコマンドライン引数(command line arguments)と呼ばれます。設定値などをソースコード内にハードコーディングするのではなく、プログラムの外部から柔軟に動作を制御したい場合に、コマンドライン引数は非常に重要な役割を果たします。
コマンドライン引数は、main()関数の引数を通じて処理されます。argcには渡された引数の総数が整数で格納され、argv[]は各引数を指すポインタの配列です。argv[0]にはプログラム名自身が格納されるため、ユーザーが指定した引数はargv[1]以降に順番に並びます。
次の例では、コマンドラインから引数が渡されたかどうかをチェックし、その結果に応じて処理を切り替えています。
サンプルコード
#include <iostream>
using namespace std;
int main( int argc, char *argv[] ) {
if( argc == 2 ) {
cout << "The argument supplied is "<< argv[1] << endl;
} else if( argc > 2 ) {
cout << "Too many arguments supplied." <<endl;
} else {
cout << "One argument expected." << endl;
}
}
実行結果(引数が1つの場合)
$./a.out testing The argument supplied is testing
実行結果(引数が複数の場合)
$./a.out testing1 testing2 Too many arguments supplied.
実行結果(引数なしの場合)
$./a.out One argument expected
ポイントまとめ
- argc:プログラム名も含めた引数の総数。引数なしで実行した場合でも、最低1(プログラム名のみ)になります。
- argv[0]:実行されたプログラム名が格納されます。
- argv[1] 以降:ユーザーが指定した引数が順に文字列(C言語形式のchar配列)として格納されます。
- 引数はすべて文字列として渡されるため、数値として使いたい場合は std::atoi() や std::stoi() などで変換する必要があります。
このように、argcとargvを組み合わせることで、プログラムの外部から自由に値を渡し、挙動を制御できます。設定ファイル名やモード指定など、実行ごとに変えたい情報を扱う際にぜひ活用してください。
-
コマンドラインでUbuntuを更新する方法 – aptコマンドの基本を徹底解説
Linuxのコマンドライン操作に慣れた上級者にとって、システムをコマンドラインから更新するスキルは必須です。常に最新の状態を保つことで、システムの安全性とセキュリティが確保され、最新機能もすぐに利用できるようになります。この記事では、Ubuntuデスクトップやサーバーをターミナル、またはSSH接続経由でアップデートする方法をわかりやすく解説します。 なぜコマンドラインで更新すべきなのか GUIツールではなく、あえてコマンドラインを使ってUbuntuを更新する理由は何でしょうか? 最大のメリットは、「ソフトウェアの更新」などのGUIツールよりも処理が速く、更新の進行状況をリアルタイムで確認でき
-
Tkinterでボタンのcommandに引数を渡す方法を解説
Tkinterでアプリケーションを開発していると、ボタンをクリックしたときに特定のウィンドウを開いたり、何らかのイベントを実行したりしたい場面がよくあります。ボタンを完全に機能させるためには、commandオプションに関数を渡す仕組みを理解しておくことが重要です。 commandオプションとは commandはButtonウィジェットの属性のひとつで、値として「関数名」を受け取ります。ここに指定された関数が、ボタンが押されたときに実行されるイベントの動作を定義します。 まずは基本となる例として、ウィンドウとボタンを作成し、command属性に関数を渡してイベントを発生させてみましょう。 サンプ