が存在するかどうかのチェック私はC++プログラムを実行した場合はARGV [i]はC++
./program arg1
ARGV [1]が存在する、しかしARGV [2]が存在するかどうかを確認する方法はありますか?
が存在するかどうかのチェック私はC++プログラムを実行した場合はARGV [i]はC++
./program arg1
ARGV [1]が存在する、しかしARGV [2]が存在するかどうかを確認する方法はありますか?
はい、argc
の値を見て:
if (argc > 2) {
... use argv[2] ...
}
あなたは他の方法で回避を試みることができます。あなたがargv[n]
の存在を知ることができるので、argc
の数を試してください。
main
のプロトタイプはそれをすべて言う:
int main(int argc, char **argv);
ここでは最初のパラメータ、argc
はargv[i]
がNULL
で終わるNumber_Of_Arguments(argv[])_Present
はい、の値を運びます。 argc
はnumber of arguments
で、main関数に渡されます。次のコードからアイデアを得てください。 "./main","grijesh","thisiscrazy4",NULL
とARGC = 3
argv[0]
は、実行ファイル名(実行パス)は、エラーステートメントでパイントために使用することができるである - ここで
#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でした。
argv
は引数ベクトルと呼ばれ、argc
は引数カウンタと呼ばれます。他の変数名も使用できます。
約full syntax of main() functionについては、環境変数も含まれています。
int main (int argc, char *argv[], char *envp[])
{
return 0;
}
この例では、 'argc == 3'は実際には実行のパスも引数と見なされます。 – Archie
@Archieはい、正しいです - 私はコードを修正しました - ありがとう –
'主な構文についての詳細情報を追加しました' –
何argc' 'チェックについてはどうですか? – neuront