程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 在C++ Builder中取得命令行參數

在C++ Builder中取得命令行參數

編輯:關於C++

用過C語言編程的人都知道,在DOS下的編程可以通過main函數的參數取得命令行參數的個數以及每個參數的字符串,例如

int main(int argv ,char *argv[])
{

}

則命令行參數是argc個,這些參數分別存儲在argv[0]~argv[argc-1]中,其中argv[0]是可執行文件的名字(含路徑),那麼Windows程序是怎麼取得命令行參數的呢?用C語言寫過windows程序的人都知道,在windows程序的主函數WinMain()中,有一個參數lpszCmd,這個參數就是命令行參數。但我們在windows編程時一般都沒在WinMain()函數工作,再加上lpszCmd是整個命令行,要取得每個參數使用也不方便,有沒有更好的方法呢?

如果你是使用的C++Builder編程,那麼我就恭喜你,在C++Builder中用使用命令行參數是非常簡單。C++Builder定義了三個全局變量和函數CmdLine、ParamStr()、ParamCount(),有了這三個變量和函數,就可以非常方便地使用命令行參數了,首先我們來看一下這幾個函數和變量的定義:

extern PACKAGE char *CmdLine;
extern PACKAGE AnsiString __fastcall ParamStr(int Index);
extern PACKAGE int __fastcall ParamCount(void);

CmdLine和WinMain()的參數lpszCmd是一樣的,也就是整個命令行參數;ParamCount()用來取得命令行參數的個數,但不包括可執行文件名,也就是相當於DOS下的argc-1,ParamSter()用來取得每一個命令行參數的值,ParamStr(0)就是可執行文件名,實際的參數就是ParamStr(1)~ParamStr(ParamCount())。下面就以一個例子來說明這三個函數變量的使用。

在窗體上放置一個Label,用來顯示總的命令行參數;再加入一個ListBox,用來顯示每個參數,然後在窗體的onCreate事件中加入以下代碼:

Label1->Caption=CmdLine;
for(int i=0;i<=ParamCount();i++)
  ListBox1->Items->Add(ParamStr(i));

然後在菜單Run->Parameters…中修改命令行參數,然後運行程序……怎麼樣?夠簡單的吧!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved