本文以C與MFC的兩個執行個體詳述了取外網IP的兩種實現方法,具體實現代碼如下:MFC語言實現擷取外網IP:# include <windows.h># include <urlmon.h># pragma comment(lib,"URLMON.lib")void main(){ URLDownloadToFile(NULL,"http://www.ip138.com/ip2city.asp","ip.txt",0,NULL); system("notepad
本文通過執行個體詳細闡述了C++關於智能指標的概念及用法,有助於讀者加深對智能指標的理解。詳情如下:一、簡介由於 C++ 語言沒有自動記憶體回收機制,程式員每次 new 出來的記憶體都要手動 delete。程式員忘記 delete,流程太複雜,最終導致沒有 delete,異常導致程式過早退出,沒有執行 delete 的情況並不罕見。用智能指標便可以有效緩解這類問題,本文主要講解參見的智能指標的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::shared_
SwfDotNet是C#編寫的,這是個特別好的讀寫Swf檔案的庫。本文講述了在C++項目中,怎麼讓C++調用C#的DLL動態連結程式庫檔案。具體的實現步驟如下:一、建立C# DLL,需要指定應用類型為“類庫”,代碼:namespace CSLib{ public class Class1 { private string name; public string Name { get { return name; }
對於學習過C語言的朋友應該都知道,使用 malloc/calloc 等分配記憶體的函數時,一定要檢查其傳回值是否為“null 指標”(亦即檢查分配記憶體的操作是否成功),這是良好的編程習慣,也是編寫可靠程式所必需的。但是,如果你簡單地把這一招應用到new上,那可就不一定正確了。我經常看到類似這樣的代碼:int * p = new int [MAXSIZE]if (p == 0) // 檢查p指標是否為空白return -1;//other code其實,這裡的 if ( p == 0 )
本文以執行個體的形式講述了基於C語言實現的貪吃蛇遊戲代碼,這是一個比較常見的遊戲,代碼備有比較詳細的注釋,對於讀者理解有一定的協助。貪吃蛇完整實現代碼如下:#include <graphics.h>#include <conio.h>#include <stdlib.h>#include <dos.h>#define NULL 0#define UP 18432#define DOWN 20480#define LEFT