linux下argc argv引數的作用

2021-06-07 11:33:03 字數 762 閱讀 8263

1.其實: int main(int argc,char *argv) 是 unix 和 linux 中的標準寫法,而 int

main() 只是 unix 及 linux 默許的用法.. 

那究竟 argc,argv 有何之用呢?下面看個例子 edit.c 就會明白它們的用法了: 

#include#includeint main(int argc,char *argv) 

if(argc==2)

exit(0)

}

編譯該程式:gcc -o edit edit.c 

執行:./edit 

結果:請輸入想要編輯的檔名如:./edit fille 

執行:./edit edit.txt 

結果:編輯 edit.txt 

看到這裡 argc,argv 如何用就很明白了,argc 是外部命令引數的個數,argv 存放各參

數的內容,如上例:執行 ./edit 時,argc 為1, 

argv[0] 為 ./edit .而執行 ./edit edit.txt 時,argc 的值為 2, 

argv[0] 為 ./edit,argv[1] 為 edit.txt .

2.在socket客戶端中有

if(argc!=2)

當在終端輸入./client 192.168.1.200時,由於argc=2,所以不執行上面的printf。

linux下中文傳參的問題

前一階段給公司開發乙個報工系統,開發是在windows環境下,部署在linux下執行。windows環境下執行一切正常,本以為到此可以大功告成了,不想第二天部署到linux上之後,頁面資料儲存之後查不出來。立即意識到可能是中文引數的問題,由於是get方式傳參,windows環境下,前台頁面對中文引數...

Linux下程式設計 主函式傳參

主函式的原型為 int main int argc,char ar char envp argc 傳遞的引數列表中引數的個數 ar 傳遞的引數列表 envp 傳遞的環境變數 我們在linux中編寫乙個主函式,看一下執行結果 include include include include includ...

linux下的應用模組傳參及驅動模組傳參的區別

在使用者態下程式設計可以通過main intargc,char argv 來傳遞命令列引數,而編寫乙個核心模組則通過module param 來傳遞引數 一.應用程式命令列傳參 執行結果如下 二.核心模組傳參 module param name,type,perm 是乙個巨集,表示向當前模組傳入引數...