先看程序:
#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”沒有“中文”。
這是因?yàn)镃++標(biāo)準(zhǔn)庫的國際化設(shè)計(jì)問題,你需要設(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、從開始\程序組中,進(jìn)入VS2008 命令提示-DOS窗口;
5、切換到boost_1_43_0的根目錄,執(zhí)行bootstrap.bat文件,將生成bjam工具;
6、執(zhí)行命令 bjam
7、將生成boost 庫文件(boost_1_43_0\stage),其中包括log的庫文件。
后記。上面的懶辦法帶來的是長時(shí)間編譯時(shí)間等待和大量硬盤空間被占用,且生成的大部分文件你根本就不會(huì)用到。
建議是了解一下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)一個(gè)“秘密”,注意“祥細(xì)了解...".那里

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


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