1、atoi()代表的是ascii to integer,即“把字符串转换成有符号数字”,举例如下:
char a="-100";
char b="90";
int c=atoi(a)+atoi(b);
那么计算结果c=-100+90=-10。
同理可得:
- atof():ascii to float,将字符串转换成双精度浮点型值;
- atol():ascii to long,将字符串转换成长整型;
- strtod():string to double,将字符串转换成双精度浮点型值,并报告不能被转换的所有剩余数字;
- strtol():string to long,将字符串转换成长整型值,并报告不能转换的所有剩余数字;
- 具体的其他类似函数,可参见该博客内容:https://www.cnblogs.com/bluestorm/p/3168719.html
2、关于程序中的argc和argv
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
main(int argc,char * argv[])
{
int n_boards=0;
float image_sf=0.5f;
float delay=1.f;
int board_w=0;
int board_h=0;
board_w=atoi(argv[1]);
board_h=atoi(argv[2]);
n_boards=atoi(argv[3]);
}
默认argc为1,argv[0]为程序名称。如果输入一个参数,则argc为2,argv[0]为程序名称,argv[1]为输入的那个参数。以此可推出,多个输入参数的情况。
main(int argc,char * argv[]),表示的就是argc表示你使用这个程序时,输入的参数的个数,argv[]表示各个参数。
举例:比如你使用ping命令时, ping www.baidu.com,这时argc=2 argv[0]="ping" argv[1]=www.baidu.com
具体事例可以参加该博客:https://blog.csdn.net/sunstars2009918/article/details/6543617