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/

相关