先看程序:
#include "stdafx.h"
#include <fstream>
int _tmain(int argc, _TCHAR* argv[])
{
std::wofstream test(L"Test.Log");
test << L"hello 中文";
return 0;
}
UNICODE編譯、調(diào)試;結(jié)果中Test.Log文件的內(nèi)容只有“hell”沒有“中文”。
這是因為C++標準庫的國際化設(shè)計問題,你需要設(shè)置locale。
#include "stdafx.h"
#include <fstream>
#include <locale>
int _tmain(int argc, _TCHAR* argv[])
{
std::wofstream test(L"Test.Log");
test.imbue( std::locale("CHS") );
test << L"hello 中文";
return 0;
}
再調(diào)試,不是有“中文”了?
Boost.Log 已被Boost庫正式接受,但還沒有包括在1.43.0版本中,下面是我在Boost_1_43_0中編譯它的辦法:
環(huán)境:
1.Boost庫1.43.0版,下載地址
http://www.boost.org;
2.Boost.Log 1.0版,下載地址
http://sourceforge.net/projects/boost-log/;
3.編譯工具VS2008
編譯:
1、解壓 boost_1_43_0, 解壓 Boost-log-1.0.zip;
2、將Boost-log-1.0\boost下的Log目錄拷入boost_1_43_0\boost目錄中;
3、將Boost-log-1.0\libs下的Log目錄拷入boost_1_43_0\libs目錄中;
4、從開始\程序組中,進入VS2008 命令提示-DOS窗口;
5、切換到boost_1_43_0的根目錄,執(zhí)行bootstrap.bat文件,將生成bjam工具;
6、執(zhí)行命令 bjam
7、將生成boost 庫文件(boost_1_43_0\stage),其中包括log的庫文件。
后記。上面的懶辦法帶來的是長時間編譯時間等待和大量硬盤空間被占用,且生成的大部分文件你根本就不會用到。
建議是了解一下bjam命令,只編譯你需要的庫,如下編譯Boost.Asio:
bjam --with-system --with-thread --with-date_time --with-regex --with-serialization stage
今天打開gmail處理一封為關(guān)于為客戶配置安全網(wǎng)關(guān)方案的郵件,無意中在gmail的右邊欄中,發(fā)現(xiàn)一個“秘密”,注意“祥細了解...".那里

gmail 居然根據(jù)我的郵件內(nèi)容向我投放了類似廣告內(nèi)容:安全網(wǎng)關(guān)與防火墻,VPN是功能類似的產(chǎn)品。
感想一:gmail做的真不錯,能根據(jù)內(nèi)容投防廣告。
感想二:gmail會不會根據(jù)我的郵件提取商機信息?進一步,他會不會出賣我的商機信息?
感想三:如果我的郵件談?wù)摿艘恍﹤€人隱私、組織敏感信息、商業(yè)情報、國家秘密。。。我是不是會被盯上。。。
突然感覺我在gmail里是一絲不掛的了。。。。


軟件設(shè)計過程是不是有點先“盲人摸象”后“庖丁解牛”的味道,從摸清楚個別部分到組裝成整體,到最后達到見木又見森林的,設(shè)計起來游刃有余。
弄一個既免費,又專業(yè),又功能強大的C++開發(fā)環(huán)境是現(xiàn)實存在,它不是夢.
我的方案是:
VC 2005 Express
PSDK
ResEdit
VC 2005 Express 不是只能寫"hello Bill :)"之類的控制臺程序,它一樣可能開發(fā)win32程序,這在MSDN中都有說明,同正式版相比.除了不具備資源編輯器之外,功能同正式版是一樣的.
要開發(fā)win32程序,光VC2005 Express是不夠的,你還得需要PSDK,這也是免費的,你需要下載.
至于如何安裝設(shè)置,我就不詳說了,你google吧,現(xiàn)成的多的是.
RegEdit是個免費的資源編輯器,它可以用來補充vc 2005 Express的不足.
(但我用它時,發(fā)現(xiàn)對中文支持不好,后找了個resource builder來用,它是收費的.試用期只有30天.resource builder 功能強大, 確實不錯,還有即時測試功能, 噯,只采取另一種方式來用resource builder了 :-) ).
我是在用WTL 8.0,WTL要命的還提供了一個VC2005 Expres下的開發(fā)向?qū)募?哈哈,你只要雙擊那個XXvc8X.js文件,就萬事OK了.WTL為你提供了豐富的程序類型.
上面就是我所謂的免費方案.
你也可以享用它.......
窗口系統(tǒng)都的自已的消息或事件處理機制.在自有的應(yīng)用系統(tǒng)中,在編寫GUI時一般我們都會依賴這個機制作出一些事件/時機的判斷.這里有個設(shè)想:一種處理方式是,在捕獲到這些事件/時機時,又通過這個消息機制去觸發(fā)新的(想發(fā)生的事件).另一種是直接了當?shù)?自已寫一個事件處理機制,自已處理掉...
(編寫中遇上的一點感想..)
高舉C++和Java的偉大旗幟,在無數(shù)coder先驅(qū)開辟的道路上前進。。。。