系列文章目錄
提示:這裡可以添加系列文章的所有文章的目錄,目錄需要自己手動添加
TODO:寫完再整理
文章目錄
- 系列文章目錄
- 前言
- 一、main函數中的argc和argv兩個形參的含義
- 二、main函數中的argc和argv兩個形參的調用原理
-
- 1、以ROS一個簡單功能包的main函數舉例說明argc參數
- 2、以ROS一個簡單功能包的main函數舉例說明argv參數
- 總結
前言
認知有限,望大家多多包涵,有什麼問題也希望能夠與大家多交流,共同成長!
本文先對程序中main函數中的argc和argv兩個形參的含義及調用原理做個簡單的介紹,具體内容後續再更,其他子產品可以參考去我其他文章
提示:以下是本篇文章正文内容
一、main函數中的argc和argv兩個形參的含義
•arg 是參數的意思
•argc c是count,代表參數數量
•argv v是vector,代表參數數組
.
.
二、main函數中的argc和argv兩個形參的調用原理
1、以ROS一個簡單功能包的main函數舉例說明argc參數
#include "iostream"
using namespace std;
void main(int argc,char *argv[])
{
std::cout<<argc<<endl;
}
我們運作一下這個功能包,指令如下
rosrun 功能包名xxx 程式名字 參數A 參數B
程式列印的結果
因為我們輸入了三個形參變量,是以argc為3
2、以ROS一個簡單功能包的main函數舉例說明argv參數
#include "iostream"
using namespace std;
void main(int argc,char *argv[])
{
for(int i=0;i<argc;i++)
{
cout<<argv[i]<<endl;
}
}
我們運作一下這個功能包,指令如下
rosrun 功能包名xxx 程式名字 參數A 參數B
程式列印的結果
程式名字 參數A 參數B
說明argv的第一個參數就是函數名,函數名就是該函數的一個入口參數!,其次argv的第二、三個參數是啟動功能包指令行帶的參數
總結
1、main函數中的argc和argv兩個形參是用來響應調用這個mian函數程序是輸入的資料的,輸入資料的方法可以通過啟動指令行,或者把啟動指令行寫在bash中
2、一般來說argv的第一個變量就是函數名,是以函數名就是該函數的一個入口參數!!
3、如果再ROS啟動一個功能包采用如下形式,不帶其他參數,就預設argc為1,argv為函數名,是以,以後main()使用參數的時候一定要從argv下标1開始取才行,不然取到了函數名就沒實際意義了
rosrun 功能包名xxx 程式名字