原创 web上用Activex控件開發步驟

首先要說明的是 web上用activex是門被拋棄的技術。爲什麼這麼說,主要基於以下幾個原因:1.功能過於強大,強大到一旦安裝,他所具有的權限可以做任何事,極易被人利用做壞事(相信大家都有瀏覽網頁後莫名被安裝流氓軟件的經歷,當然流氓軟

原创 socket連接超時判斷

select 方式 判斷m_server的m_port端口是否可以連上,超時限制爲nTimeOut秒 BOOL ConnectTest(char * m_server,int m_port) {         struct hosten

原创 位域與結構體對齊

一 位域 有些信息在存儲時,並不需要佔用一個完整的字節, 而只需佔幾個或一個二進制位。例如在存放一個開關量時,只有0和1 兩種狀態, 用一位二進位即可。爲了節省存儲空間,並使處理簡便,C語言又提供了一種數據結構,稱爲“位域”或“位

原创 P2P原理

首先先介紹一些基本概念:   NAT(Network Address Translators),網絡地址轉換:網絡地址轉換是在IP地址日益缺乏的情況下產生的,它的主要目的就是爲了能夠地址重用。NAT分爲兩大類,基本的NAT和NAPT(Ne

原创 MFC程序和Win32程序的關係

MFC把具有相當固定行爲的WinMain內部操作封裝在CWinApp中,把有着相當固定行爲的WndProc內部操作封裝在CFrameWnd中。 幾乎可以說CWinApp用來取代WinMain在SDK程序中的地位,CFrameWnd取代S

原创 左值(lvalue)和右值(rvalue)

左值(lvalue)和右值(rvalue)是編程中兩個非常基本的概念,但是也非常容易讓人誤解,看了很多文章,自我感覺真正將這個問題講的很透徹的文章還沒有看見,所以自告奮勇來嘗試一下。如果左值右值的概念不是非常清楚的話,它們遲早會像攔

原创 MFC幾個關於字符串處理的全局函數

最近在使用字符資源的時候,發現有幾個全局函數處理字符串非常方便。函數頭 void AFXAPI AfxFormatString1(CString& rString, UINT nIDS, LPCTSTR lpsz1);函數功能 從資源文件

原创 C++ 運算符優先級列表

C++ 運算符優先級列表 PrecedenceOperatorDescriptionExampleAssociativity 1 ()[]->.::++-- Grouping operatorArray accessMember acc

原创 從VC6到VC9移植代碼問題

首先可以直接用Visual Studio 2008的打開VC6的工作區文件和項目文件(dsw和dsp),並將其升級爲VS2008的解決方案格式和項目格式(sln和vcproj),VC9的編譯器相對於VC6有了很大的變化,一些編譯參數和鏈接

原创 TCP/IP協議三次握手建立連接

 在TCP/IP協議中,TCP協議提供可靠的連接服務,採用三次握手建立一個連接。   第一次握手:建立連接時,客戶端發送syn包(syn=j)到服務器,並進入SYN_SEND狀態,等待服務器確認;   第二次握手:服務器收到syn包,必須

原创 Tomcat+struts中文亂碼問題

  在進行struts開發的過程中,總也是出現很多的亂碼問題 ,但歸根到底,也只是以下三種情況: 1.頁面顯示中文亂碼 2.傳遞參數中文亂碼 3.國際化資源文件亂碼 下面就這三中情況介紹怎麼在具體項目中處理這些亂碼問題。而對於整體的處理

原创 malloc/free與new/delete的區別

相同點:都可用於申請動態內存和釋放內存 不同點:(1)操作對象有所不同。malloc與free是C++/C 語言的標準庫函數,new/delete 是C++的運算符。對於非內部數據類的對象而言,光用maloc/free 無法滿足動態對象的

原创 VC中調用MSXML庫創建XML

HRESULT InitXmlDOC(MSXML2::IXMLDOMDocumentPtr & pDoc,                                     MSXML2::IXMLDOMElementPtr & p

原创 SQL Server 2000中的觸發器使用

可以定義一個無論何時用INSERT語句向表中插入數據時都會執行的觸發器。  當觸發INSERT觸發器時,新的數據行就會被插入到觸發器表和inserted表中。inserted表是一個邏輯表,它包含了已經插入的數據行的一個副本。insert

原创 函數名與函數指針

  一 通常的函數調用    一個通常的函數調用的例子://自行包含頭文件void MyFun(int x);    //此處的申明也可寫成:void MyFun( int );int main(int argc, char* argv