国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C/C++中命令行參數的原理

2019-11-17 05:04:49
字體:
來源:轉載
供稿:網友
  很早以前的dos應用程序中,我們經常會用命令行參數執行應用程序例如: copy c:/1.txt d:/   在c/c++中,命令行參數的傳遞是利用main進行形參傳遞實現的
  前面的教程中我們對面都進行了void main()或者是void main(void)的定義,這表示main不返回任何類型,和main不帶有任何參數,但在缺剩狀態下mian()這樣形式下,形式參數一直是存在在棧空間內的只是隱藏了起來。   為了實現命令行參數我們將使用main(int argc,char* argv[])這樣的形式進行定義argc和argv可以換成你自己喜歡的名稱,不一定要用argv,argc這些形式只是習慣而已,char* argv[]我們前面已經講述過,這就是一個指向指針數組,argv就是一個指針數組名,argv不是常量指針,而是具備變量特性的變量指針,它是可以移動的,由此我們可以改寫成char* *argv也是正確的,int argc這個定義返回的將是參數的個數所以標記為整形(int)。 #include <iostream> 
#include <string> 
using namespace std; 
 
void main(int argc,char* argv[])   

    int i=0; 
    while(i<argc) 
    { 
        cout<<*argv++<<endl;//這里改寫成cout<<argv[i]<<endl;也是正確的 
        i++; 
    } 
    cin.get(); 
}   在命令行參數的提交中,系統會自動給指針數組后加上一個NULL,所以代碼可以寫成如下簡單形式,簡化代碼提高效率。#include <iostream> 
#include <string> 
using namespace std; 
 
void main(int argc,char* argv[])   

    while(*argv!=NULL)//這里寫成while(*argv)也是正確的! 
    { 
        cout<<*argv++<<endl; 
    } 
    cin.get(); 
}   最后我們說一下完整的命令行參數的原形:void main(int argc,char* argv[],char* env[])

  env用的很少,通常是用做事件的返回,這里就不討論了,具體的可以查詢書籍。

  void main(int argc)省略其它參數的定義也是可以的,這樣運行時候就直接返回參數個數學,而不返回其它。

  運行命令行參數帶有char* argv[]的時候,假如輸入參數帶有空格式,應該用雙引號闊起來。

  例如 test4.exe "hello world!" ha ha  更多文章 更多內容請看C/C++技術專題  linux命令簡介專題,或

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台江县| 宁化县| 二手房| 加查县| 岐山县| 延吉市| 如东县| 天峻县| 南皮县| 平阴县| 内江市| 洞头县| 孟州市| 都匀市| 桐乡市| 景泰县| 云安县| 永康市| 黔西县| 大田县| 昌都县| 泰兴市| 白朗县| 香港 | 大港区| 和田市| 台南县| 安多县| 新泰市| 凌云县| 贵南县| 永新县| 光泽县| 泰和县| 汽车| 江津市| 龙胜| 万荣县| 玉门市| 泰兴市| 宜川县|