• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            lantionzy

            coding
            posts - 10, comments - 39, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            2009年10月22日

                 摘要: int main()
            {
            string str("Hello World!\n");
            cout << "The size of " << str << "is " << str.size()
            << " characters, including the newline" << endl;
            return 0;
            }
            從邏輯上來講,size() 成員函數似乎應該返回整形數值,或是無符號整數。但事實上,size 操作返回的是 string::size_type 類型的值。
            string 類類型和許多其他庫類型都定義了一些配套類型(companion type)。通過這些配套類型,庫類型的使用就能與機器無關(machine-independent)。size_type 就是這些配套類型中的一種。它定義為與 unsigned 型(unsigned int 或 unsigned long)具有相同的含義,而且可以保證足夠大能夠存儲任意 string 對象的長度。為了使  閱讀全文

            posted @ 2009-10-22 09:10 lantionzy 閱讀(12119) | 評論 (8)編輯 收藏

            2009年10月20日

                 摘要: 本示例的基本實現過程是:客戶端通過鍵盤輸入數據,數據被發送到服務器。后者接收到數據后,需要進行判斷,如果發來的數據串為“quit”,表明對方向退出聊天過程,于是服務器端也發送字符串“quit”,聊天過程終止;否則將接收到的信息和對方的IP地址進行格式化后,在屏幕上輸出。同樣在客戶端也需要進行相應的判斷和輸出。
            首先編寫服務器端程序,實現代碼如下:
            #pragma comment(lib,"ws2_32.lib")
            #include
            #include   閱讀全文

            posted @ 2009-10-20 17:07 lantionzy 閱讀(2580) | 評論 (12)編輯 收藏

            2009年10月19日

                 摘要: 針對示例程序,說明幾個用VC++基于TCP/UDP網絡編程應注意的幾個地方:
            1、基于TCP和基于UDP的網絡應用程序在發送和接收數據時使用的函數是不一樣的:前者使用send和recv,后者使用sendto和recvfrom。
            2、由于程序中使用了Winsock庫中的函數,這里需要為程序鏈接相應的.lib文件:ws2_32.lib。
            3、我們知道,Windows網絡編程至少需要兩個頭文件:winsock2.h和windows.h,而在WinSock2.0之前還存在一個老版本的winsock.h。正是這三個頭文件的包含順序,導致了問題的出現...
              閱讀全文

            posted @ 2009-10-19 16:23 lantionzy 閱讀(2104) | 評論 (1)編輯 收藏

                 摘要: 注:本系列文章適合初學網絡編程的讀者
            對于基于UDP的服務器來說,就是一個客戶端,不用建立監聽或者說建立連接,直接調用recvfrom函數接收數據。注意,在編寫基于UDP的網絡程序時,在接收數據時,使用的是recvfrom函數。而前面基于TCP的服務器端程序接收數據時使用的是recv函數。
            客戶端也可以直接發送數據,這里需要調用sendto函數而不是send函數。

            新建一個空的Win32 Console Application類型的工程,在其中添加實現基于UDP的服務器端程序的代碼UDPSrv.cpp:  閱讀全文

            posted @ 2009-10-19 15:23 lantionzy 閱讀(1983) | 評論 (3)編輯 收藏

                 摘要: 注:本系列文章適合初學網絡編程的讀者

            網絡程序的實現可以有很多方式,Windows Socket就是其中一種比較簡單的方法。socket是連接應用程序與網絡驅動程序的橋梁,socket在應用程序中創建,通過綁定操作與驅動程序建立關系。此后,應用程序送給socket的數據,由socket交給驅動程序向網絡上發送出去。計算機從網絡上收到與該socket綁定的IP地址和端口號相關的數據后,由驅動程序交給socket,應用程序便可從該socket中提取接收到的數據。
            下面通過一個簡單的實例來講述基于TCP的socket編程的通信流程。其中服務器端程序實現代碼TCPSrv.cpp如下:  閱讀全文

            posted @ 2009-10-19 14:36 lantionzy 閱讀(2127) | 評論 (2)編輯 收藏

            2009年10月15日

                 摘要: 如果應用程序的另一個實例影響到可選(非首要)功能,應用程序啟動時必須:
            1)檢測是否有用戶正在運行該應用程序。
            2)阻止所有有問題的功能。
            3)通知當前用戶無法使用特定功能的原因。

            下面給出一個實例:  閱讀全文

            posted @ 2009-10-15 13:59 lantionzy 閱讀(2174) | 評論 (2)編輯 收藏

                 摘要: 一、只讀算法

            1、使用兩個迭代器和一個值調用 find 函數,檢查兩個迭代器實參標記范圍內的每一個元素。只要找到與給定值相等的元素,find 就會返回指向該元素的迭代器。如果沒有匹配的元素,find 就返回它的第二個迭代器實參,表示查找失敗。于是,只要檢查該函數的返回值是否與它的第二個實參相等,就可得知元素是否找到了。
            int search_value = 42;
            // call find to see if that value is present
            vector::const_iterator result = find(vec.begin(), vec.end(), search_value);
            // report the result
            cout << "The value " << search_value

            << (result == vec.end()? " is not present" : " is prese  閱讀全文

            posted @ 2009-10-15 09:42 lantionzy 閱讀(1486) | 評論 (2)編輯 收藏

                 摘要: 標準庫定義了三種順序容器類型:vector、list 和 deque(雙端隊列“double-ended queue”)。它們的差別在于訪問元素的方式,以及添加或刪除元素相關操作的運行代價。

            1、每種順序容器都提供了一組有用的類型定義以及以下操作:

            在容器中添加元素。

            在容器中刪除元素。

            設置容器大小。

            (如果有的話)獲取容器內的第一個和最后一個元素。

            2、一些關鍵概念和難點:

            vector 對象動態增長:  閱讀全文

            posted @ 2009-10-15 08:19 lantionzy 閱讀(1668) | 評論 (1)編輯 收藏

                 摘要: 類的成員函數具有一個附加的隱含形參,即指向該類對象的一個指針。這個隱含形參命名為 this,與調用成員函數的對象綁定在一起。成員函數不能定義 this 形參,而是由編譯器隱含地定義。成員函數的函數體可以顯式使用 this 指針,但不是必須這么做。如果對類成員的引用沒有限定,編譯器會將這種引用處理成通過 this 指針的引用。

            盡管在成員函數內部顯式引用 this 通常是不必要的,但有一種情況下必須這樣做:當我們需要將一個對象作為整體引用而不是引用對象的一個成員時。最常見的情況是在這樣的函數中使用 this:該函數返回對調用該函數的對象的引用。  閱讀全文

            posted @ 2009-10-15 08:13 lantionzy 閱讀(1874) | 評論 (0)編輯 收藏

            2009年10月14日

                 摘要: 在項目開發中,經常要求系統在同一時刻在同一臺機器上只能運行一個實例,可以通過這種方式實現
            在InitInstance()函數中添加如下代碼:  閱讀全文

            posted @ 2009-10-14 17:40 lantionzy 閱讀(2956) | 評論 (8)編輯 收藏

            亚洲欧美一级久久精品| 91精品久久久久久无码| 偷偷做久久久久网站| 中文字幕日本人妻久久久免费| 国产激情久久久久久熟女老人 | 精品国产91久久久久久久| 青青热久久综合网伊人| 中文字幕无码久久精品青草| 欧美噜噜久久久XXX| 久久综合五月丁香久久激情| 久久精品国产亚洲AV香蕉| 亚洲午夜精品久久久久久人妖| 亚洲精品第一综合99久久| 久久91精品久久91综合| 综合久久一区二区三区 | 久久99热这里只有精品国产| 日本WV一本一道久久香蕉| 91精品国产91久久久久久青草| 久久精品国产久精国产果冻传媒| 99久久成人国产精品免费| 狠狠色丁香久久婷婷综合| 久久青青草原精品国产不卡| 日韩乱码人妻无码中文字幕久久| 久久伊人影视| 久久综合伊人77777| 久久午夜电影网| 国产91色综合久久免费| 色妞色综合久久夜夜| 久久99热这里只有精品66| 日韩一区二区三区视频久久| 久久国产视屏| 久久人人超碰精品CAOPOREN| 国产精品亚洲综合专区片高清久久久| 狠狠色丁香久久综合五月| 国产精品久久久久久搜索| 人妻精品久久久久中文字幕69| 伊人久久综合精品无码AV专区| 久久久国产精华液| 日韩精品久久久久久免费| 国产精品久久久久jk制服| 97精品国产97久久久久久免费|