C++プログラムを実行した場合
./program arg1
argv [1]は存在しますが、argv [2]が存在するかどうかを確認する方法はありますか?
はい、argc
の値を見てください。
if (argc > 2) {
... use argv[2] ...
}
はい、argv[i]
はNULL
で終わります。 argc
はnumber of arguments
メイン関数に渡されます。次のコードからアイデアを得る。
#include<stdio.h>
int main(int argc, char* argv[]){
int i=0;
while(argv[i]!=NULL){
printf("\n %s is argv %d ",argv[i],i);
i++;
}
printf("\n");
}
desktop:~$ gcc main.c -o main
desktop:~$ ./main grijesh thisiscrazy4
./main is argv 0
grijesh is argv 1
thisiscrazy4 is argv 2
ここでargvは--"./main","grijesh","thisiscrazy4",NULL
およびargc = 3。
argv[0]
は実行可能ファイル名(実行パス)であり、エラーステートメントでパイントするために使用できます。argv
は引数ベクトルと呼ばれ、argc
は引数カウンターと呼ばれます。他の変数名も使用できます。
main()関数の完全な構文 について読んでください。これには環境変数も含まれます。
int main (int argc, char *argv[], char *envp[])
{
return 0;
}
main
のプロトタイプはそれをすべて言います:
_int main(int argc, char **argv);
_
ここでの最初のパラメーター、argc
はNumber_Of_Arguments(argv[])_Present
の値を運びます
逆に試すこともできます。 argc
の数をテストすると、argv[n]
の存在を知ることができます。