久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

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

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

參(can)(can)數(shu)傳遞一般是函數(shu)傳參(can)(can)或程(cheng)序(xu)執行(xing)傳參(can)(can),本文(wen)主要介紹程(cheng)序(xu)執行(xing)傳遞參(can)(can)數(shu)。程(cheng)序(xu)傳參(can)(can)一般有如下幾種方(fang)法。

1、程序執行時傳參

這(zhe)種傳參(can)(can)(can)使用較(jiao)多,尤其是一(yi)些(xie)(xie)比較(jiao)簡單的(de)參(can)(can)(can)數傳遞(di),如在linux下執行“ls -l、ls -a”時除了命令本身之外(wai)還(huan)有一(yi)些(xie)(xie)參(can)(can)(can)數,這(zhe)些(xie)(xie)參(can)(can)(can)數不同(tong)導(dao)致程序執行結果不同(tong),這(zhe)種傳參(can)(can)(can)方(fang)法最為簡單也(ye)最常用。實(shi)現方(fang)法如下

例:

#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

這(zhe)種方(fang)法(fa)是通過main函(han)數(shu)(shu)的(de)兩(liang)個參(can)(can)(can)數(shu)(shu)argc和argv實現(xian),argc為參(can)(can)(can)數(shu)(shu)的(de)個數(shu)(shu)、argv是參(can)(can)(can)數(shu)(shu)列表,通過解(jie)析(xi)argv就可以獲取參(can)(can)(can)數(shu)(shu)內容。單人如果想要(yao)實現(xian)如ls -l或ls –version之(zhi)類的(de)參(can)(can)(can)數(shu)(shu)傳(chuan)遞則一(yi)般需要(yao)特殊的(de)參(can)(can)(can)數(shu)(shu)解(jie)析(xi)函(han)數(shu)(shu)getopt、getopt_long或getopt_long_only解(jie)析(xi),這(zhe)里就不一(yi)一(yi)介紹了。

2、通過環境變(bian)量傳參

通過環(huan)境(jing)變量(liang)傳參也是使(shi)用較(jiao)多的一種,如(ru)環(huan)境(jing)變量(liang)較(jiao)復雜或較(jiao)多且可能(neng)應(ying)為環(huan)境(jing)不同而(er)不同時一般使(shi)用這種參數傳遞方式(shi)。實現方法如(ru)下(xia)

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

程(cheng)序中獲(huo)取環境(jing)變量的方法有兩種

1、 通過(guo)main函數的第三個參(can)數將系(xi)統所以(yi)環(huan)境變量傳遞到程序中(zhong),然后找到想(xiang)要的

#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函數(shu)獲取特定的(de)環境變量

例:

#include

#include

#include

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

{

int i = 0;

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

return 0;

}

運行結(jie)果如下(xia):

3、通過(guo)配置文件傳(chuan)參

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

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

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

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

回到頂部