C++ 命令行传参 参数使用 坐标参数的转换
目录
- 1. 什么是命令行传参
- 2. 如何传参
- 3. 应用实例
- 4. 问题
1. 什么是命令行传参
命令行传参就是在 cmd 命令提示符, 或者 Linux shell 中使用可执行程序时, 可以添加 参数 传递到执行程序中。
程序根据你的输入做出反应。
这个东西没那么神秘,每一个编写过C++, C 程序的同志都见过它,却没有认识到它!
2. 如何传参
#include
use namespace std;
int main(int argc, char * argv[]){
cout<
argc:参数个数;
argv[]: 参数数组;每一个参数字符串最后都会自动添加 \0
int main(int argc, char * argv[])
int main(int argc, char ** argv)
这两个的效果是一样的!
3. 应用实例
传递字符坐标参数 并解析为数字坐标
#include
int main(int argc, char * argv[]){
std::cout<= '0' && argv[param][i] <= '9'){
point[param-1][j] *= 10;
point[param-1][j] += argv[param][i] - '0'; // automatic type conversion char to int
if(!(argv[param][i+1] >= '0' && argv[param][i+1] <= '9')){ // x next isn't a number, so we extract y
j++;
}
}
}
j=0;
}
for(i=0; i<3; i++){
for(j=0; j<2; j++){
std::cout<
4. 问题
传递到函数中的参数都是字符串类型的。那么我们怎么将他们变成数字类型呢?
在头文件 stdlib.h 中定义了这么几个函数我们可以使用!
double atof(const char *str) //converts the string argument str to a floating-point number (type double).
int atoi(const char *str) //converts the string argument str to an integer (type int).
double param = atof(argv[1]);
int param = atoi(argv[1]);
文章会随时改动,要到博客园里看偶。一些网站会爬取本文章,但是可能会有出入。
转载请注明出处哦( ̄︶ ̄)↗
https://www.cnblogs.com/asmurmur/