青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 96  文章 - 255  trackbacks - 0
<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

E-mail:zbln426@163.com QQ:85132383 長期尋找對戰略游戲感興趣的合作伙伴。

常用鏈接

留言簿(21)

隨筆分類

隨筆檔案

SDL相關網站

我的個人網頁

我的小游戲

資源下載

搜索

  •  

積分與排名

  • 積分 - 495654
  • 排名 - 39

最新評論

閱讀排行榜

評論排行榜

<本文PDF文檔下載>

C++的流和本地化策略集

BS在設計C++流的時候希望其具備智能化,并且是可擴展的智能化,也就是說,C++的流可以“讀懂”一些內容。比如:
std::cout << 123 << "ok" << std::endl;
這句代碼中,std::cout是能判斷出123是int而"ok"是const char[3]。利用流的智能,甚至可以做一些基礎類型的轉換,比如從int到string,string到int:
std::string str("123");
std::stringstream sstr(str);
int i;
sstr 
>> i;
int i = 123;
std::stringstream sstr;
sstr 
<< i;
std::
string str = sstr.str();
盡管如此,C++并不滿足,C++甚至希望流能“明白”時間,貨幣的表示法。而時間和貨幣的表示方法在世界范圍內是不同的,所以,每一個流都有自己的locale在影響其行為,C++中叫做激活(imbue,也有翻譯成浸染)。而我們知道,每一個locale都有多個facet,這些facet并非總是被use_facet使用的。決定使用哪些facet的,是流的緩存basic_streambuf及其派生類basic_stringbuf和basic_filebuf。我們要用到的facet是codecvt,這個facet只被basic_filebuf使用——這就是為什么只能用fstream來實現寬窄轉換,而無法使用sstream來實現的原因。
頭文件:
//filename string_wstring_fstream.hpp
#ifndef STRING_WSTRING_FSTREAM_HPP
#define STRING_WSTRING_FSTREAM_HPP

#include 
<string>

const std::wstring s2ws(const std::string& s);
const std::string ws2s(const std::wstring& s);

#endif
實現:
#include <string>
#include 
<fstream>
#include 
"string_wstring_fstream.hpp"

const std::wstring s2ws(const std::string& s)
{
    std::locale sys_loc(
"");

    std::ofstream ofs(
"cvt_buf");
    ofs 
<< s;
    ofs.close();

    std::wifstream wifs(
"cvt_buf");
    wifs.imbue(sys_loc);
    std::wstring wstr;
    wifs 
>> wstr;
    wifs.close();

    
return wstr;
}

const std::string ws2s(const std::wstring& s)
{
    std::locale sys_loc(
"");

    std::wofstream wofs(
"cvt_buf");
    wofs.imbue(sys_loc);
    wofs 
<< s;
    wofs.close();

    std::ifstream ifs(
"cvt_buf");
    std::
string str;
    ifs 
>> str;
    ifs.close();

    
return str;
}
在窄到寬的轉化中,我們先使用默認的本地化策略集(locale)將s通過窄文件流ofs傳入文件,這是char到char的傳遞,沒有任何轉換;然后我們打開寬文件流wifs,并用系統的本地化策略集(locale)去激活(imbue)之,流在讀回寬串wstr的時候,就是char到wchar_t的轉換,并且因為激活了sys_loc,所以實現標準窄到寬的轉換。
在寬到窄的轉化中,我們先打開的是寬文件流wofs,并且用系統的本地化策略集sys_loc激活(imbue)之,這時候,因為要寫的文件cvt_buf是一個外部編碼,所以執行了從wchar_t到char的標準轉換。讀回來的文件流從char到char,不做任何轉換。
posted on 2010-06-26 16:40 lf426 閱讀(3128) 評論(0)  編輯 收藏 引用 所屬分類: 語言基礎、數據結構與算法
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲视频在线观看免费| 亚洲视频精品| 久久久综合精品| 午夜亚洲精品| 国产在线播精品第三| 久久久水蜜桃av免费网站| 欧美一区二区三区久久精品茉莉花 | 国产亚洲欧美另类中文| 久久国产福利国产秒拍| 久久精品国产99国产精品澳门| 国语对白精品一区二区| 欧美激情视频一区二区三区免费| 欧美精品福利在线| 午夜视频在线观看一区| 欧美一区二区黄色| 亚洲黄色高清| 一区二区三区欧美亚洲| 国产在线精品二区| 亚洲第一福利视频| 欧美视频精品在线| 久久在线免费观看| 欧美刺激性大交免费视频| 亚洲一区二区黄| 久久精品二区亚洲w码| 亚洲精品日本| 亚洲调教视频在线观看| 狠色狠色综合久久| 日韩午夜一区| 国产在线观看一区| 日韩亚洲精品电影| 国模私拍视频一区| 99视频精品全部免费在线| 国产色视频一区| 亚洲精品一区二区网址| 国产一区二区三区高清| 亚洲人成网站在线播| 国产欧美一区二区三区国产幕精品| 欧美成人69av| 国产欧美短视频| 亚洲久久一区| 亚洲国产视频a| 亚洲欧美国产日韩中文字幕| 亚洲激情影视| 久久不射网站| 午夜性色一区二区三区免费视频| 欧美mv日韩mv国产网站app| 久久激情婷婷| 欧美视频在线观看| 亚洲欧洲精品一区二区三区| 国产小视频国产精品| 中文在线资源观看网站视频免费不卡 | 国产精品99久久久久久有的能看 | 欧美丝袜第一区| 欧美国产在线观看| 国产日韩欧美a| 亚洲综合色视频| 一区二区精品在线| 欧美成人午夜| 欧美国产三级| 亚洲国产岛国毛片在线| 久久久91精品| 久久综合色88| 国产一区成人| 欧美主播一区二区三区美女 久久精品人| 艳妇臀荡乳欲伦亚洲一区| 久久一区欧美| 欧美高清视频在线| 亚洲国产精品久久久久秋霞不卡| 欧美伊人久久| 美女视频黄免费的久久| 国内精品视频一区| 久久久久91| 欧美不卡一卡二卡免费版| 亚洲成色www8888| 久久久精品国产一区二区三区| 久久久久欧美精品| 狠狠入ady亚洲精品经典电影| 欧美一二区视频| 久久欧美肥婆一二区| 影音先锋日韩有码| 久久尤物视频| 亚洲欧洲综合| 亚洲一二三级电影| 国产欧美日韩综合一区在线播放| 欧美伊人久久| 欧美国产精品v| 亚洲最新合集| 国产精品女人网站| 欧美在线一级视频| 亚洲第一在线综合在线| 一区二区三区四区五区精品| 国产精品美女www爽爽爽| 亚洲欧美一区二区激情| 免费国产一区二区| 在线一区二区三区四区| 国产精品一卡二卡| 久久久久久夜| 夜夜爽av福利精品导航 | 亚洲精品美女在线观看播放| 欧美日韩mp4| 亚洲欧美成人网| 欧美国产乱视频| 亚洲一区综合| 在线观看成人小视频| 欧美日韩精品在线观看| 欧美一区=区| 亚洲国产欧美国产综合一区| 午夜精品亚洲一区二区三区嫩草| 狠狠v欧美v日韩v亚洲ⅴ| 欧美日韩国产综合在线| 久久精品国产久精国产一老狼| 亚洲日本黄色| 老司机aⅴ在线精品导航| 亚洲天堂av电影| 亚洲成色999久久网站| 国产精品免费区二区三区观看| 久久综合亚洲社区| 午夜视频精品| 日韩一级大片在线| 欧美国产91| 久久久国产精品一区二区三区| 99在线精品免费视频九九视| 狠狠色丁香久久婷婷综合_中| 欧美亚一区二区| 欧美激情第三页| 久久美女艺术照精彩视频福利播放| 亚洲天堂激情| 夜夜爽夜夜爽精品视频| 亚洲国产精品www| 美女亚洲精品| 久久久久久网| 久久九九久久九九| 欧美淫片网站| 午夜精品免费视频| 中文精品一区二区三区| 日韩亚洲欧美一区| 亚洲黄色在线| 亚洲第一区在线观看| 狠狠色丁香婷婷综合久久片| 国产精品香蕉在线观看| 欧美色大人视频| 欧美日韩一区二区在线视频| 欧美精品videossex性护士| 牛牛国产精品| 欧美成人三级在线| 欧美激情精品| 欧美日韩国产综合视频在线观看中文| 欧美1区2区视频| 免费短视频成人日韩| 久久一区二区三区四区五区| 久久天天狠狠| 暖暖成人免费视频| 欧美另类99xxxxx| 欧美片在线播放| 欧美视频在线观看| 国产精品久久久久久久久果冻传媒| 欧美视频亚洲视频| 国产精品麻豆成人av电影艾秋| 国产精品一区2区| 国内外成人免费激情在线视频| 黄色成人在线观看| 91久久久久久久久久久久久| 亚洲精品综合久久中文字幕| 国产精品99久久久久久久vr | 亚洲美女精品久久| 一本一本久久a久久精品综合麻豆| 99热精品在线| 亚洲综合成人在线| 久久蜜桃精品| 亚洲国产精品va| 亚洲一区999| 久久久久看片| 欧美精品97| 国产日韩一区二区| 亚洲激情av在线| 亚洲午夜精品视频| 久久米奇亚洲| 日韩天堂在线观看| 性欧美暴力猛交69hd| 欧美国产视频在线| 国产精品一区二区三区四区| 亚洲国产精品女人久久久| 在线亚洲观看| 乱码第一页成人| 日韩视频二区| 久久久www| 国产精品久久久久久妇女6080 | 136国产福利精品导航网址| 99在线精品视频在线观看| 欧美在线视频观看免费网站| 欧美激情视频网站| 欧美一级视频| 欧美日韩在线综合| 亚洲国产mv| 久久久人成影片一区二区三区| 亚洲精品国偷自产在线99热| 久久av在线| 欧美午夜电影在线| 亚洲精品一品区二品区三品区| 久久久精彩视频|