怎樣構(gòu)建C++ main()函數(shù)?
用C++語言編寫的Windows程序的函數(shù)稱為WinMain(),而不是所謂的C++ main()函數(shù)。這意味著C++ Builder GUI應(yīng)用程序有個(gè)隱藏WinMain(),卻很難讓我們查詢到。
C++ Builder使用戶無需考慮Windows程序的低級(jí)細(xì)節(jié),而可以集中考慮程序用戶界面和其它部分的創(chuàng)建。C++ main()函數(shù)和其它函數(shù)一樣是函數(shù),有相同的構(gòu)成部分。在32位控制臺(tái)應(yīng)用程序中,C++ Builder生成具有下列原型的缺省main()函數(shù):int main(int argc,char** argv);這個(gè)main()函數(shù)形式取兩個(gè)參數(shù)并返回一個(gè)整型值。
前面說過,數(shù)值在調(diào)用函數(shù)時(shí)傳遞給函數(shù)。但對(duì)于C++ main()函數(shù),沒有直接調(diào)用,而是在程序運(yùn)行時(shí)自動(dòng)執(zhí)行。那么,C++ main()函數(shù)如何取得參數(shù)呢?辦法是從命令行取得。這里要用命令行變?cè)猈M_KILLFOCUS、d和i啟動(dòng)程序grep。
我們要演示如何在C++ main()函數(shù)將其變?yōu)閍rgc和argv.首先,整型變量argc包含命令行中傳遞的參數(shù)個(gè)數(shù),至少為1,因?yàn)槌绦蛎菜阕鲄?shù)。變量argv是個(gè)數(shù)組,包含字串的指針。這個(gè)數(shù)組包含命令行中傳遞的每個(gè)字串。本例中: 下面用一個(gè)小程序驗(yàn)證這個(gè)事實(shí)。在C++ Builder中生成新的控制臺(tái)應(yīng)用程序并輸入清單1.5所示的程序。
- 1: #include <iostream.h>
- 2: #include <conio.h>
- 3: #pragma hdrstop
- 4:
- 5: int main(int argc,char **argv)
- 6: {
- 7:cout << "argv = "argc << end1;
- 8.for (int i=0;i<argc;i++)
- 9. cout << "Parameter " << i << ": " << argv[i]<< end1;
- 10. cout << end1 << "Press any key to continue...";
- 11: getch();
- 12: return 0;
- 13: }
將這個(gè)項(xiàng)目存為Argstest,然后不是單擊Run按鈕,而是選擇主菜單中的Project|Build All,這樣只建立項(xiàng)目而不執(zhí)行程序。項(xiàng)目建成后,選擇主菜單中的Run|Parameters,在RunParameters對(duì)話框RunParameters字段中輸入下列內(nèi)容:one two three "four five" six然后單擊Run按鈕,程序即用所指定的命令行參數(shù)運(yùn)行。
另一種辦法是用下列命令行在DOS提示下運(yùn)行C++ main()函數(shù):argstest one two three "four five" six程序運(yùn)行時(shí),它會(huì)顯示傳入的變?cè)獢?shù),然后列出每個(gè)變?cè)_\(yùn)行幾次,每次提供不同命令行變?cè)⒁猱a(chǎn)生的結(jié)果。
【編輯推薦】




















