#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
// 这一下很重要:
wcout.imbue( locale("chs") );
const wchar_t* lpwStr = L"猪猪宝贝:http://84638372.qzone.qq.com";
wcout<< lpwStr << endl;
typedef vector<wstring> WSTRVEC;
WSTRVEC vec;
vec.push_back( L"猪猪宝贝:" );
vec.push_back( L"http://84638372.qzone.qq.com" );
vec.push_back( L" 欢迎您的光临!" );
copy( vec.begin(),vec.end(),ostream_iterator< wstring,wchar_t >( wcout,L"" ) );
return 0;
}
着色解释:
1.这点很重要,否则你无法在控制台输出UNICODE字符串。同理,如果是一个wofstream wofs的话也应该这样处理才能写入文件。
2.为什么string的时候写ostream_iterator< string >( cout,"" )就可以了,而现在要写这么多?
template<class _Ty,
class _Elem = char,//这就是原因,因为这里默认了char,所以你应该明确指出是wchar_t
class _Traits = char_traits<_Elem> >
class ostream_iterator
: public _Outit
所以就应该这么写:ostream_iterator< wstring,wchar_t >( wcout,L"" )
由于现在转战QQ空间了,所以这里的文章没有QQ空间多,欢迎大家光临我的QQ空间:
本文链接:http://user.qzone.qq.com/84638372/blog/1224570040