無限長度的超大整數 class,提供 加、減、乘、除、餘數、負數、大小比較等基本功能,由於是為了個人使用上的須要而開發,原則上是不會再增加其他運算功能,因提供的是原始檔,若有其他須求請自行擴增吧。
下載 BigInteger_1.13(C++ 版).rar
https://www.dropbox.com/s/hvag2ppa1h1fyrl/BigInteger_1.13%28C%2B%2B%20%E7%89%88%29.rar
http://pan.baidu.com/s/1jGsoUuq
2012年5月28日 星期一
2012年5月16日 星期三
GDI 映射模式
GDI 映射公式
以 X 方向的視窗口邏輯單位(xWindow)轉換為視埠設備單位(xViewport)為例:
xViewport = (xWindow - xWimOrg) * (xViewExt / xWinExt) + xViewOrg
(xViewExt / xWinExt) 是用來做轉換的比值,兩數是可任意值,但依平台不同有其實際的數值來源,兩者可由設備物件的 CDC::GetViewportExt() 和 CDC::GetWindowExt() 取得。
以 X 方向的視窗口邏輯單位(xWindow)轉換為視埠設備單位(xViewport)為例:
xViewport = (xWindow - xWimOrg) * (xViewExt / xWinExt) + xViewOrg
(xViewExt / xWinExt) 是用來做轉換的比值,兩數是可任意值,但依平台不同有其實際的數值來源,兩者可由設備物件的 CDC::GetViewportExt() 和 CDC::GetWindowExt() 取得。
多國語言插件
這是採用 CxxlMan 程式庫的機動化元件所做的插件,可以幫你寫的程式或其他插件可以有提供多國語言文字的處理功能,文字來源由語言轉換檔提供,依多國語言的需求編製相應的語言轉換檔,語言轉換檔只是一般的文字檔(但須是 Unicode 編碼)。
下載點:多國語言插件(7-01-2012 更新).7z
下載點:多國語言插件(7-01-2012 更新).7z
2012年4月23日 星期一
可讀取 Unicode 檔案的 wifstreambuf
因發現 wifstream 不能用 Unicode 檔名,覺得太不方便了,所以寫了以下這個 class,但後來發現 gcc 的 wifstream/wistream 也沒辦法處理 Unicode 文字為內容的檔案,wifstream/wistream 只是虛有其名,所以計畫放棄了。
改用 vs2008 來做,vs2008 的 wifstream 可以使用 Unicode 的檔名,但 wifstream 仍不能讀取 Unicode 的文字內容,不過用 wistream 配合以下的 class 卻成功了。
經網友 ice_emissary(燃燒的大地) 提醒是 Unicode BOM 檔頭的問題,修改後果然成功。
另外 wifstream 應該只是用來讀取 ansi 的檔案,只不過會自動轉型成 wchar_t 來使用
以下參考資料的連結
http://www.cplusplus.com/reference/iostream/streambuf/
http://oopweb.com/CPP/Documents/CPPAnnotations/Volume/cplusplus20.html
http://www.diybl.com/course/3_program/c++/cppjs/200822/98427.html
http://www.dreamincode.net/code/snippet2499.htm
以下是 wifstreambuf.h 的內容,只是一個 .h 檔
改用 vs2008 來做,vs2008 的 wifstream 可以使用 Unicode 的檔名,但 wifstream 仍不能讀取 Unicode 的文字內容,不過用 wistream 配合以下的 class 卻成功了。
經網友 ice_emissary(燃燒的大地) 提醒是 Unicode BOM 檔頭的問題,修改後果然成功。
另外 wifstream 應該只是用來讀取 ansi 的檔案,只不過會自動轉型成 wchar_t 來使用
以下參考資料的連結
http://www.cplusplus.com/reference/iostream/streambuf/
http://oopweb.com/CPP/Documents/CPPAnnotations/Volume/cplusplus20.html
http://www.diybl.com/course/3_program/c++/cppjs/200822/98427.html
http://www.dreamincode.net/code/snippet2499.htm
以下是 wifstreambuf.h 的內容,只是一個 .h 檔
2012年4月20日 星期五
google+ 要砍我了
google+ 說我名字違反他們的命名政策,要停用我的 google+,但我的名字早在 google+ 出現之前就已經在使用了,命名政策不是有為此提供例外處理嗎?在 google 搜尋找 cxxlman 就找得到證據了,我找不到申訴連結,曾用過一次但忘了,麻煩 google+ 的管理大大看到請高抬貴手
2012年4月15日 星期日
WinXP+gcc 編譯 wxWidgets
網路上一堆秘笈,搞得我快吐血,結果正確的解答是要選對 gcc 的版本,太新的編譯不出來,不過舊版的也不易找到,我是用 Code::Blocks 8.02
內附的 gcc 3.4.5。
我採用的 wxWidgets 為 2.8.11 版,到 http://www.wxwidgets.org/downloads/ 抓 all wxWidgets ports 中的 zip 檔,將它解壓到 C:\,資料夾名稱為 wxWidgets-2.8.11
我採用的 wxWidgets 為 2.8.11 版,到 http://www.wxwidgets.org/downloads/ 抓 all wxWidgets ports 中的 zip 檔,將它解壓到 C:\,資料夾名稱為 wxWidgets-2.8.11
2012年4月14日 星期六
C++ 程式編譯之字串
當使用 C 的 printf() 或 C++ 的 cout 秀出文字運作原來相當簡單,就是直接把執行程式內存放的字串字碼丟給系統處理就是了,只要字碼正確就會看到正確的字形在 Console 視窗秀出來。
但這個正確的字碼是怎麼產生的?看看以下這個測試程式,請用記事本編寫比較方便,隨後會做不同的編碼存檔。
將之存成 ANSI 編碼格式,檔名為 test.cpp,我用 gcc 4.6.2 進行
但這個正確的字碼是怎麼產生的?看看以下這個測試程式,請用記事本編寫比較方便,隨後會做不同的編碼存檔。
#include <iostream> using namespace std; int main() { const char *ansi_str1 = "中文"; cout << "ansi_str1 = " << ansi_str1 << endl; return 0; }
將之存成 ANSI 編碼格式,檔名為 test.cpp,我用 gcc 4.6.2 進行
訂閱:
文章 (Atom)