Latest web development tutorials

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それ以外の場合は、argcが2に設定されますされます。

スペースで区切られたコマンドラインパラメータの複数が、間のパラメータは内部 ''二重引用符 ""または単一引用符で囲む必要があるときにスペースを持つ引数自体は、その後のパラメータを渡す場合。 それでは、上記の例を書き直してみましょう、スペースがある、あなたはビューには、二重引用符または一重引用符でそれらを置くことができます。 "" "。" のは、二重引用符のコマンドラインパラメータの内部に配置されたプログラムを渡すために、上記の例を書き直してみましょう:

#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