官术网_书友最值得收藏!

3-3 編寫Console應用

大多數C/C++語言書的例子都太數學化,很難引起讀者的興趣,幸好,除了可以把Visual C++作為學習工具外,還可以編寫一些控制臺應用,也不涉及Windows圖形界面,使我們可以專注地練習C/C++程序,而不覺得沒有用處。

對我來說,Console程序讓人想起了遙遠的DOS時代,一個“Copy /?”命令,使我們逐漸學會了所有的DOS命令。這里就讓我們懷懷舊,編一個程序仿真一下。

在這個程序中,讓我們初步體會一下Visual C++應用程序向導(AppWazrid)的特點,讓它幫助我們完成大量工作。

啟動Visual C++,選擇“File/New…”命令。建立一個工程(Project),請VC幫助我們建立。

在圖3-9中選擇“Win32 Console Application”,右邊“Project Name:”輸入“demo02”;“Location:”可以切換到自己喜歡的位置。單擊“OK”按鈕。

圖3-9 建立一個Win32 Console Application

程序進入圖3-10所示的畫面,選擇第二項,建立“A simple application”,其他三項程序與第二項的區別,大家稍后可自行測試。

圖3-10 選擇A simple application

按下“Finish”按鈕,在出現的消息對話框中確認即可,可以發現,Visual C++為我們生成了很多項目(Project)相關的程序文件。這些文件大多數是空的,這些是為編寫大應用程序做的。最主要的是demo02.cpp,main()出現了我們不知道的兩個參數——argc和argv,如圖3-11所示,它們的作用我們稍后就講,現在切換到Demo02目錄下可以發現,Visual C++自動生成的還有好幾個類型的文件,如圖3-12所示。

圖3-11 argc和argv參數

圖3-12 Visual C++自動生成多個類型的文件

這基本上是所有現代程序開發工具的特色,以項目的形式來管理開發,程序員開發的桌面狀況都可以記錄下來,下次打開這個項目,立刻能夠返回上次結束時的狀態。

體會Porject不是一兩天的事情,有些好處恐怕要等到幾個人組成一個小組開發時才能體會。我們還是回到討論console程序所有的argc和argv兩個程序參數上。

argc和argv是為傳遞console應用程序的參數而用的,比如“Copy /?”有一個參數,“/?”;“copy file.doc /program”有兩個參數“file.doc”和“/program”。程序員可以根據這些參數決定程序的功能。我們做一個小程序來詳細說明。

程序目的與操作:測試如何用argc和argv,可以添加一條代碼,添加后如圖3-13所示。

printf("%d\n %s %s\n",argc,"The argument is",argv[1]);

然后打開“Project /setting…”對話框,在“Debug”頁面中,真的寫上一個參數“參數”,當然,這只是為了測試。

圖3-13 給程序加上一個argument

然后運行程序,結果如下,如圖3-14所示。

圖3-14 運行結果

可以很明顯地看到,argc的值是程序所帶參數的數量,這個數量包含程序名本身,argv則包含程序名和參數,而且是從0開始計算。

學習與練習:我們來做一個程序,實現的功能是刪除指定的文件,目的有兩個,一是演示如何使用一些Windows API函數,體會控制臺應用程序的編寫方法;二是體會圖形化操作后面的后臺實現。可以通過查找資料實現。

主站蜘蛛池模板: 体育| 金川县| 富阳市| 东乌珠穆沁旗| 吉安县| 东莞市| 巴塘县| 蓝山县| 江川县| 绥阳县| 板桥市| 新巴尔虎右旗| 香河县| 镇宁| 富蕴县| 安龙县| 兴业县| 当阳市| 林州市| 凤阳县| 碌曲县| 大邑县| 武夷山市| 景宁| 汨罗市| 鹤壁市| 萨迦县| 杭锦旗| 台南市| 黑龙江省| 罗平县| 南京市| 道孚县| 都匀市| 榆社县| 伊川县| 永平县| 闻喜县| 德昌县| 若羌县| 辽阳县|