int main (int argc, char *argv[])
1. main 関数のデフォルトパラメータ
int main()
第二に、メイン関数のパラメーターはデフォルトではありません
int main(int argc, char **argv)
int main(int argc, char* argv[])
//两种写法效果一样
2.1 パラメータの説明
- argc: プログラムのコンパイル時に、出力パラメーターの数 +1 (追加されたパラメーターはメイン プログラムの名前);
- argv: これらの引数へのポインター引数
3. デモ例
3.1 デモ1
メイン プログラム main.cpp を demo1 フォルダーに書き込みます。main.cpp のコードは次のとおりです。
#include<iostream>
using namespace std;
int main( int argc , char** argv ){
cout << "The argv is : "<< endl ;
for(int i=0 ; i<argc ; i++)
cout << argv[i] << endl ;
cout << "the argc is : "<< argc << endl ;
return 0;
}
ターミナルでコンパイル:
g++ main.cpp -o main
ターミナルでターゲット ファイルを実行する
./main 'Automatic' 'driving' 'test'
結果は次のとおりです。
./main 'Automatic' 'driving' 'test'
The argv is :
./main
Automatic
driving
test
3.2 デモ2
メイン プログラム main.cpp を demo1 フォルダーに書き込みます。main.cpp のコードは次のとおりです。
#include <iostream>
using namespace std;
double power(double base,double exponent)
{
int res=base;
if(base==1)
{
return 1;
}
for(int i=1;i<exponent;i++)
{
res=res*base;
}
return res;
}
int main(int argc,char *argv[])
{
if(argc<3)
{
cout<<"Usage:"<<argv[0]<<endl;
return 1;
}
double base =atof(argv[1]);
int exponent=atoi(argv[2]);
cout<<"result"<<endl<<power(base,exponent)<<'\n';
return 0;
}
ターミナルでコンパイル:
g++ main.cpp -o main
ターミナルでターゲット ファイルを実行する
./main 2 3
結果は次のとおりです。
./main 2 3
result
8