ca59a_c++_函数_main函数处理命令行选项int argc ,char *argv[]
程序员文章站
2022-07-15 09:22:09
...
/*ca59a_c++_函数_main函数处理命令行选项
int main(int argc,char **argv)
{
//argc表示命令行选项的个数。如:ca59a hello bill c++, ca59a是exe,后面三个字符串,argc=3;
**argv:字符串数组,每一个选项是一个字符串,用来保存命令行的字符串的
如:命令行:ca59a hello bill c++,argv[0]=ca59a,argv[1]=hello,argv[2]=bill,argv[3]=c++;
int main(int argc, char **argv)
...
}
或者如下写法
int main(int argc,char *argv[])
start = atoi(argv[1]); //字符串转整形
atof(argv[1]),字符串,字符型转小数
*/
/*ca59a_c++_函数_main函数处理命令行选项
int main(int argc,char **argv)
{
//argc表示命令行选项的个数。**argv:字符串数组,每一个选项是一个字符串,用来保存命令行的字符串的
int main(int argc, char **argv)
...
}
或者如下写法
int main(int argc,char *argv[])
start = atoi(argv[1]); //字符串转整形
*/
#include <iostream>
using namespace std;
//int main() //argc表示命令行选项的个数。**argv:字符串数组,每一个选项是一个字符串,用来保存命令行的字符串的
int main(int argc, char **argv)
{
cout << argv[0] << endl;//argv[0]不是命令行选项
cout << argv[1] << endl;
cout << argv[2] << endl;
for (int i = 0; i < argc; ++i)
cout << "循环: " << argv[i] << endl;
//做以上代码测试,请屏蔽如下代码:27-35行(cout<<k<<endl;)。
//上面代码:cmd, 进入exe所在目录,输入:ca59a hello bill c++ good
//下面代码测试:cmd,进入exe所在目录,输入:ca59a 100 200 20,
int start, end, step;
start = atoi(argv[1]); //字符串转整形,这里就是100
end = atoi(argv[2]);//这里就是200
step = atoi(argv[3]);//这里就是20
for (int k = start; k <= end; k+=step)
cout << k << endl;
//
return 0;
}
应该输入ca59b 200 300,就会计算结果。如果输入 ca59b 200,不是3个字符串,就会报错。
/*ca59a_c++_函数_main函数处理命令行选项
int main(int argc,char **argv)
{
//argc表示命令行选项的个数。**argv:字符串数组,每一个选项是一个字符串,用来保存命令行的字符串的
int main(int argc, char **argv)
...
}
或者如下写法
int main(int argc,char *argv[])
start = atoi(argv[1]); //字符串转整形
atof(argv[1]),字符串,字符型转小数
txwtech
*/
#include <iostream>
using namespace std;
//int main(int argc, char **argv),都可以
int main(int argc, char* argv[])
{
if (argc != 3)
{
cout << "you should use three agruments!" << endl;
return -1;
}
cout << "这两个数的和是: "
<< atof(argv[1]) + atof(argv[2]) << endl;
return 0;
}