Windows下C語言網路程式設計快速入門

2021-03-31 17:14:00 字數 1934 閱讀 9330

c語言的學習,一般的方式是,先學c,然後是c++,最好還要有組合語言和微機原理基礎,然後才是visual c++。這樣的方式,對學習者來說,要花費很多時間和耐力。而在學校教學中,也沒有時間深入學習windows程式設計的實用技術了。

其實,具有了c語言基礎後,再有一些基本的c++類的概念,就可以直接學習windows c程式設計了。

一、走近windows c語言

很多語言都把顯示乙個「hello,world!」做為第乙個入門程式, c語言的第乙個程式是這樣的:

#include

main()

如果把main函式寫成帶引數的main函式,應該是:

#include

main(int arge,char *argv)

windows c的第乙個程式和這個程式在形式和原理上都是一致的,只是有兩點不同:

1. 主函式接收的形參不只是命令列中的字串的個數和字串的首位址。

2. c語言的很多函式在windows c中都可以繼續使用,但象printf()螢幕顯示等函式就不能繼續使用了。因為windows是多工作業系統,螢幕已不再為某乙個應用程式所獨有,windows c應用程式要顯示字串,需要使用windows提供的api函式,開自己的視窗

下面是乙個最簡單的,顯示「hello,world!」的windows c程式:

#include

apientry winmain(hinstance hinstance,hinstance hprevinstance,

lpstr lpcmdline,int ncmdshow)

主函式的形參有四個:

1) hinstance:接收程式執行時當前例項的控制代碼;

2) hprivinstance:前乙個例項的控制代碼;

3) lpcmdline:程式命令列指標;

4) ncmdshow:乙個用來指定視窗顯示方式的整數。

這幾個引數的使用我們會在深入的學習中介紹的。

顯示hello,word!字串,我們使用了乙個messagebox函式,這個函式會在螢幕上顯示乙個對話方塊,它的原型是:

int messagebox(hwnd hwnd,lpctstr lptext,lpctstr lpcaption,unit utype)

四個引數分別是:

1) hwnd:父視窗的控制代碼;

2) lptext:要顯示字串的指標;

3) lpcaption:對話方塊標題字串的指標;

4) utype:顯示在對話方塊上的小圖示的型別。

使用這個函式要包含windows.h標頭檔案。

除錯一下,怎麼樣?視窗上彈出了乙個「第乙個windows c程式」對話方塊,上面有一行字:「hello,world!」。

世界真的很美好啊!!

深入程式設計:

在c語言中,函式的宣告,如果沒有指明返回值型別,預設值為void,這個程式的主函式就沒有返回值。不過,在windows程式設計時,我們最好養成個好習慣,指明函式的返回值型別,因為在c++中,函式返回值型別是不可以預設的。而我們在windows c程式設計時,還是會用到c++的一些概念,這樣做,有利於以後深入地學習。

規範一點的程式應該是這樣的:

#include

int apientry winmain(hinstance hinstance,hinstance hprevinstance,

lpstr lpcmdline,int ncmdshow)

這裡,我們宣告的型別為int型,並且返回乙個值0,這樣的函式就可以使用在複雜一點的函式呼叫中了。

在這一節中,我們有幾處都提到了控制代碼的概念,控制代碼和指標的概念不同,它是作為作業系統內部索引表中的乙個值來使用的,這樣可以防止應用程式直接訪問名物件的內部結構,體現了windows資源管理的優越性。譬如說,乙個視窗找開之後,好對應記憶體中的乙個記憶體塊,這個視窗所在的記憶體快位址往往會由作業系統做動態的調整,但其卻不會隨之變化。不過,通過它可以訪問這個視窗,所以在使用的時候,可以把它當做指標一樣看待

windows 下的網路程式設計

用簡單的 和演示說明了winsocket的使用一般必要步驟。先看看程式執行的效果吧 最上面的乙個視窗為服務端,下面的視窗為客戶端,服務端的主迴圈負責接收資料。如果客戶端輸出 exit 字串的話,則服務端和客戶端程式終止。這個示例主要是通過簡單的 讓初學者了解到wsa winsocketapi 的啟動...

windows下的網路程式設計

windows下的網路程式設計 做過windows網路程式設計的人都知道,微軟的mfc把複雜的winsock api函式封裝到類裡,這使得編寫網路應用程式更容易。即windows既提供上層的網路api函式也提供底層的api函式。1 對於採用上層的api函式而言 若採用csocket類定義乙個物件ob...

C語言windows程式設計

include windows除錯藝術 從真實病毒學習訊息機制 安全客,安全資訊平台 使用訊息機制執行 hinstance g hinstance 0 視窗處理函式 lresult callback wndproc hwnd hwnd,uint umsg,wparam wparam,lparam l...