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

來源:互聯網
上載者:User
1. main() 參數
在Turbo C2.0啟動過程中, 傳遞main()函數三個參數: argc, argv和env。
* argc: 整數, 為傳給main()的命令列參數個數。
* argv: 字串數組。
在DOS 3.X 版本中, argv[0] 為程式啟動並執行全路徑名; 對DOS 3.0
以下的版本, argv[0]為空白串("") 。
argv[1] 為在DOS命令列中執行程式名後的第一個字串;
argv[2] 為執行程式名後的第二個字串;
...
argv[argc]為NULL。
*env: 安符串數組。env[] 的每一個元素都包含ENVVAR=value形式的字元
串。其中ENVVAR為環境變數如PATH或87。value 為ENVVAR的對應值如C:/DOS, C:
/TURBOC(對於PATH) 或YES(對於87)。
Turbo C2.0啟動時總是把這三個參數傳遞給main()函數, 可以在

使用者程式中
說明(或不說明)它們, 如果說明了部分(或全部)參數, 它們就成為main()子程式
的局部變數。
請注意: 一旦想說明這些參數, 則必須按argc, argv, env 的順序, 如以下
的例子:
main()
main(int argc)
main(int argc, char *argv[])
main(int argc, char &nbs

argc是參數的個數

argv儲存所有的參數,是一個字串數組

envp是環境變數指標,但這個參數並不標準通常用getenv()等函數代替

比如在命令列下面輸入

ls /home

其中argc == 2,argv[0] == "ls",argv[1] == "/home"

include
#include

void main( int argc, char *argv[], char *envp[] )
{
int iNumberLines = 0; // Default is no line numbers.

if( argc == 2 && stricmp( argv[1], "/n" ) == 0 )
iNumberLines = 1;

// Walk through list of strings until a NULL is encountered.
for( int i = 0; envp[i] != NULL; ++i )
{
if( iNumberLines )
cout

  • 上一篇:Sizeof與Strlen
  • 下一篇:LTE隨機接入為什麼分成reamblesGroupA 和reamblesGrou
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.