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