Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C /C++のコマンドライン引数


実行時にコマンドラインからCプログラムにいくつかの値を渡すことができます。これらの値はコマンドライン引数と呼ばれ、特にコード内でこれらの値をハードコーディングするのではなく、外部からプログラムを制御する場合に、プログラムにとって重要であることがよくあります。

コマンドライン引数は、main()関数引数を使用して処理されます。argcは渡される引数の数を示し、argv[]はプログラムに渡される各引数を指すポインター配列です。以下は、コマンドラインから引数が指定されているかどうかを確認し、それに応じてアクションを実行する簡単な例です-

#include <stdio.h>
int main( int argc, char *argv[] ) {
   if( argc == 2 ) {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 ) {
      printf("Too many arguments supplied.\n");
   }
   else {
      printf("One argument expected.\n");
   }
}

出力

$./a.out testing
The argument supplied is testing

出力

$./a.out testing1 testing2
Too many arguments supplied.

出力

$./a.out
One argument expected

argv [0]はプログラム自体の名前を保持し、argv [1]は指定された最初のコマンドライン引数へのポインターであり、*argv[n]は最後の引数であることに注意してください。引数が指定されていない場合、argcは1になり、oneargumentを渡すと、argcは2に設定されます。

すべてのコマンドライン引数をスペースで区切って渡しますが、argument自体にスペースがある場合は、そのような引数を二重引用符""または一重引用符''の中に入れることで渡すことができます。上記の例をもう一度書き直して、プログラム名を出力し、二重引用符で囲んでコマンドライン引数を渡します-

#include <stdio.h>
int main( int argc, char *argv[] ) {
   printf("Program name %s\n", argv[0]);
   if( argc == 2 ) {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 ) {
      printf("Too many arguments supplied.\n");
   }
   else {
      printf("One argument expected.\n");
   }
}

出力

$./a.out "testing1 testing2"
Progranm name ./a.out
The argument supplied is testing1 testing2

  1. C / C ++のSystem()関数

    与えられたタスクは、C / C ++でのsystem()の動作を示すことです。 system()関数は、C /C++標準ライブラリの一部です。コマンドプロセッサまたはオペレーティングシステムの端末で実行できるコマンドを渡すために使用され、完了後に最終的にコマンドを返します。 この関数を呼び出すには、またはを含める必要があります。 構文 構文は次のとおりです- int system(char command) コマンドがエラーなしで実行された場合、この関数はゼロを返します。 例 Input: system(“date”) Output: The current d

  2. C / C ++での引数の強制?

    ここでは、CまたはC++での引数の強制について説明します。引数強制は、コンパイラーが引数をあるタイプから別のタイプに暗黙的に変換できる1つの手法です。引数プロモーションルールに従います。 1つの引数が下位データ型の場合、上位データ型に変換できますが、その逆は当てはまりません。その理由は、1つの上位データ型が下位データ型に変換されると、一部のデータが失われる可能性があるためです。 暗黙の変換がどのように行われるかを表現できるピラミッドを1つ見てみましょう。 例 #include<iostream> using namespace std; double myAdd(doubl