日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > Linux應用程序幾種參數傳遞方式

Linux應用程序幾種參數傳遞方式 時間:2018-07-30      來源:未知

參數傳遞一般是函數傳參或程序執行傳參,本文主要介紹程序執行傳遞參數。程序傳參一般有如下幾種方法。

1、程序執行時傳參

這種傳參使用較多,尤其是一些比較簡單的參數傳遞,如在linux下執行“ls -l、ls -a”時除了命令本身之外還有一些參數,這些參數不同導致程序執行結果不同,這種傳參方法最為簡單也最常用。實現方法如下

例:

#include

int main(int argc, char **argv)

{

int i = 0;

for(i = 0; i < argc; i++)

printf("argv[%d] = %s\n", i, argv[i]);

return 0;

}

運行結果

./test hello world

這種方法是通過main函數的兩個參數argc和argv實現,argc為參數的個數、argv是參數列表,通過解析argv就可以獲取參數內容。單人如果想要實現如ls -l或ls –version之類的參數傳遞則一般需要特殊的參數解析函數getopt、getopt_long或getopt_long_only解析,這里就不一一介紹了。

2、通過環境變量傳參

通過環境變量傳參也是使用較多的一種,如環境變量較復雜或較多且可能應為環境不同而不同時一般使用這種參數傳遞方式。實現方法如下

首先要設置環境變量如:export TEST_ENV=helloworld

程序中獲取環境變量的方法有兩種

1、 通過main函數的第三個參數將系統所以環境變量傳遞到程序中,然后找到想要的

#include

#include

int main(int argc, char **argv, char **envp)

{

int i = 0;

while(*envp != NULL) {

if (!strncmp(*envp, "TEST_ENV", strlen("TEST_ENV")))

printf("envp[%d] = %s\n", i++, *envp);

i++;

envp++;

}

return 0;

}

運行結果

2、 通過getenv函數獲取特定的環境變量

例:

#include

#include

#include

int main(int argc, char **argv, char **envp)

{

int i = 0;

printf("TEST_ENV = %s\n", getenv("TEST_ENV"));

return 0;

}

運行結果如下:

3、通過配置文件傳參

上述兩種方法傳遞參數相對簡單,如下更加復雜的參數,如很多需要一些配置文件,程序中可通過解析文件的方法實現參數傳遞,這只需要讀取文件內容安裝格式解析接口即可,主要是文件操作及字符串操作這里就不詳細講解了

上一篇:linux中斷編程、中斷編程詳解

下一篇:tftp文件傳輸協議詳解

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 一起来看流星雨百度百科| 猛鬼追魂| 花月佳期 电影| 内蒙古电视台| 拔萝卜视频免费完整版| 奇妙的植物世界阅读短文答案| 孔冉| 成人在线| 蜡笔小新日语| 南来北往电视剧剧情| 只园| 黄色网址在线免费播放| 新疆地图旅游图| 六字真言颂怙主三宝| cctv体育频道5| 韧战作文800字初中| dj舞曲超劲爆dj| www.douyin.com/pay| 孙婉| 新闻联播台词| 聊斋花弄月普通话版免费| 山子高科股吧| 南来北往分集剧情| 山上的小屋免费阅读小说全文| 韩国三及| 这就是中国 纪录片| 侠客行演员表| 《棋魂》电视剧| 王心凌照片| 我和我的班主任| 巢谷传| 马德哈万| 一路向东电影| 美国伦理女兵1| 黄网站在线免费看| 王清海| 《重紫》电视剧| 美女下面流水| 第二回合我爱你| 小敏家| 美女的逼逼视频|