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