锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲伦理在线观看,亚洲国产日韩在线,久久天天躁夜夜躁狠狠躁2022http://m.shnenglu.com/Error/articles/195979.htmlEnicEnicTue, 04 Dec 2012 09:28:00 GMThttp://m.shnenglu.com/Error/articles/195979.htmlhttp://m.shnenglu.com/Error/comments/195979.htmlhttp://m.shnenglu.com/Error/articles/195979.html#Feedback0http://m.shnenglu.com/Error/comments/commentRss/195979.htmlhttp://m.shnenglu.com/Error/services/trackbacks/195979.htmltemplate <typename TValue>
class el_traits
{
public:
// typename TValue;
 typedef TValue TValueType;
 typedef TValue& TReferenceType;
};

template <typename TValue, typename TTraits = el_traits<TValue> >
class TProperty
{
public:  // C++緙栬瘧鍣ㄤ笉紜畾榪欓噷鏄笉鏄被鍨嬶紝鎵浠ラ渶瑕佹樉紺烘寚瀹?br /> void Get(typename const TTraits::TValueType val);
 void Set(typename TTraits::TReferenceType val);
};



Enic 2012-12-04 17:28 鍙戣〃璇勮
]]>
錛堣漿錛? STL鍏ㄦ帓搴? 闈為掑綊 鍏ㄦ帓搴忕畻娉?/title><link>http://m.shnenglu.com/Error/articles/195448.html</link><dc:creator>Enic</dc:creator><author>Enic</author><pubDate>Wed, 21 Nov 2012 03:17:00 GMT</pubDate><guid>http://m.shnenglu.com/Error/articles/195448.html</guid><wfw:comment>http://m.shnenglu.com/Error/comments/195448.html</wfw:comment><comments>http://m.shnenglu.com/Error/articles/195448.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Error/comments/commentRss/195448.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Error/services/trackbacks/195448.html</trackback:ping><description><![CDATA[     鎽樿:     Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//鍏ㄦ帓鍒楃畻娉曪細(xì)    //        //&n...  <a href='http://m.shnenglu.com/Error/articles/195448.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/Error/aggbug/195448.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Error/" target="_blank">Enic</a> 2012-11-21 11:17 <a href="http://m.shnenglu.com/Error/articles/195448.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瀵笴++ Local鐨勭粡鍏稿垎鏋?/title><link>http://m.shnenglu.com/Error/articles/195378.html</link><dc:creator>Enic</dc:creator><author>Enic</author><pubDate>Mon, 19 Nov 2012 11:31:00 GMT</pubDate><guid>http://m.shnenglu.com/Error/articles/195378.html</guid><wfw:comment>http://m.shnenglu.com/Error/comments/195378.html</wfw:comment><comments>http://m.shnenglu.com/Error/articles/195378.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Error/comments/commentRss/195378.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Error/services/trackbacks/195378.html</trackback:ping><description><![CDATA[<div><div clearfix"=""><h2>浣跨敤fstream鎿嶄綔鏂囦歡鐨勬椂鍊欑獊鐒跺彂鐜頒腑鏂囧瓧絎︽棤娉曡瘑鍒簡(jiǎn)錛屾渶鍚庡彂鐜版槸local鐨勯棶棰橈紒錛侊紒<br />//////////////////////////////////////////////////////////////<br /><br />瀵笴++ Local鐨勭粡鍏稿垎鏋?/h2></div> <div class="hvzpftn" id="content" mod-cs-content="" text-content="" clearfix"=""> <p> </p>鏂囩珷鍦板潃錛?http://kittsoft.xp3.biz/?p=86<a href="http://m.shnenglu.com/deane/archive/2011/lf426/archive/2010/06/26/118788.html" target="\"_blank\""></a> <p><br /></p> <p>“榪欎釜闂姣斾綘鎯寵薄涓鏉?#8221;<br />錛堟垜涔熷涓婤S鐨勯鏍鹼紝铏界劧榪欏彞璇濇槸鎴戣嚜宸變復(fù)鏃舵兂璇寸殑銆俕^錛?br />浠庡瓧絎﹀埌鏁存暟<br />char鏄竴縐嶆暣鏁扮被鍨嬶紝榪欏彞璇濈殑鍚箟鏄紝char鎵鑳借〃紺虹殑瀛楃鍦–/C++涓兘鏄暣鏁扮被鍨嬨傚ソ錛屾帴涓嬫潵錛屽緢澶氭枃绔犲氨浼?xì)鋴D鍑轟竴涓吀鍨嬩緥瀛愶紝姣斿錛?#8217;a' 鐨勬暟鍊煎氨鏄?×61銆傝繖縐嶈娉曞鍚楋紵濡傛灉浣犵粏蹇?jī)鐨勮杩嘖&R鍜孊S瀵逛簬C鍜孋++鎻忚堪鐨勫師钁楋紝浣犲氨浼?xì)椹笂鍙嶉┏閬撳Q?×61鍙槸’a'鐨凙SCII 鍊鹼紝騫舵病鏈変換浣曡瀹欳/C++鐨刢har鍊煎繀欏誨搴擜SCII銆侰/C++鐢氳嚦娌℃湁瑙勫畾char鍗犲嚑浣嶏紝鍙槸瑙勫畾浜?jiǎn)sizeof(char)絳変簬1銆?br />褰撶劧錛岀洰鍓嶅ぇ閮ㄥ垎鎯呭喌涓嬶紝char鏄?浣嶇殑錛屽茍涓旓紝鍦ˋSCII鑼冨洿鍐呯殑鍊鹼紝涓嶢SCII瀵瑰簲銆?br />鏈湴鍖栫瓥鐣ラ泦錛坙ocale錛?br />“灝?#8217;a'緲昏瘧鎴?×61鐨勬暣鏁板?#8221;錛?#8220;灝咥SCII鑼冨洿鍐呯殑緙栫爜涓巆har鐨勬暣鏁板煎搴旇搗鏉?#8221;錛岀被浼艱繖鏍風(fēng)殑瑙勫畾錛屾槸鐗瑰畾緋葷粺鍜岀壒瀹氱紪璇戝櫒鍒跺畾 鐨勶紝C/C++涓湁涓壒瀹氱殑鍚嶈瘝鏉ユ弿榪拌繖縐嶈瀹氱殑闆嗗悎錛氭湰鍦板寲絳栫暐闆嗭紙locale銆備篃鏈夌炕璇戞垚“鐜板満”錛夈傝岀炕璇?#8212;—涔熷氨鏄唬鐮佽漿鎹紙codecvt錛? 鍙槸榪欎釜闆嗗悎涓殑涓涓紝C++涓畾涔変負(fù)絳栫暐錛坒acet銆備篃鏈夌炕璇戜負(fù)“鍒婚潰”錛?br />C/C++鐨勭紪璇戠瓥鐣?br />“鏈湴鍖栫瓥鐣ラ泦”鏄釜寰堝ソ鐨勬蹇碉紝鍙儨鍦ㄥ瓧絎﹀拰瀛楃涓茶繖涓眰闈笂錛孋/C++騫朵笉浣跨敤錛圕++鐨刲ocale閫氬父鍙槸褰卞搷嫻侊紙stream錛夛級(jí)錛孋/C++浣跨敤鏇寸洿鎺ョ畝鍗曠殑絳栫暐錛氱‖緙栫爜銆?br />綆鍗曠殑璇達(dá)紝瀛楃錛堜覆錛夊湪紼嬪簭鏂囦歡錛堝彲鎵ц鏂囦歡錛岄潪婧愭枃浠訛級(jí)涓殑琛ㄧず錛屼笌鍦ㄧ▼搴忔墽琛屼腑鍦ㄥ唴瀛樹(shù)腑鐨勮〃紺轟竴鑷淬傝冭檻涓ょ鎯呭喌錛?br />A銆乧har c = 0×61;<br />B銆乧har c = ‘a’;<br />鎯呭喌A(chǔ)涓嬶紝緙栬瘧鍣ㄥ彲浠ョ洿鎺ヨ璇嗕綔涓烘暣鏁扮殑c錛屼絾鏄湪鎯呭喌B涓嬶紝緙栬瘧鍣ㄥ繀欏誨皢’a'緲昏瘧鎴愭暣鏁般傜紪璇戝櫒鐨勭瓥鐣ヤ篃寰堢畝鍗曪紝灝辨槸鐩存帴璇誨彇瀛楃錛堜覆錛夊湪婧愭枃浠朵腑鐨勭紪鐮佹暟鍊箋傛瘮濡傦細(xì)<br />const char* s = “涓枃abc”;<br />榪欐瀛楃涓插湪GB2312錛圵indows 936錛夛紝涔熷氨鏄垜浠殑windows榛樿涓枃緋葷粺婧愭枃浠朵腑鐨勭紪鐮佷負(fù)錛?br />0xD6   0xD0   0xCE 0xC4 0×61 0×62 0×63<br />鍦║TF-8錛屼篃灝辨槸Linux榛樿緋葷粺婧愭枃浠朵腑鐨勭紪鐮佷負(fù)錛?br />0xE4   0xB8   0xAD   0xE6   0×96   0×87   0×61   0×62   0×63<br />涓鑸儏鍐典笅錛岀紪璇戝櫒浼?xì)蹇犲疄浜庢簮鏂囦欢鐨劸~栫爜涓簊璧嬪鹼紝渚嬪鐨勬儏鍐墊瘮濡俈C浼?xì)鑷綔鑱槑鐨勬妸澶ч儴鍒嗗叾浠柧c誨瀷緙栫爜鐨勫瓧絎︿覆杞崲鎴怗B2312錛堥櫎浜?jiǎn)鍍廢TF-8 without signature榪欐牱鐨勫垢瀛樿咃級(jí)銆?br />紼嬪簭鍦ㄦ墽琛岀殑鏃跺欙紝s涔熷氨淇濇寔鏄繖鏍風(fēng)殑緙栫爜錛屼笉浼?xì)鍐嶅仛鍏朵粬鐨勮浆鎹€?br />瀹藉瓧絎? wchar_t<br />姝echar娌℃湁瑙勫畾澶у皬錛寃char_t鍚屾牱娌℃湁鏍囧噯闄愬畾錛屾爣鍑嗗彧鏄姹備竴涓獁char_t鍙互琛ㄧず浠諱綍緋葷粺鎵鑳借璇嗙殑瀛楃錛屽湪win32 涓紝wchar_t涓?6浣嶏紱Linux涓槸32浣嶃倃char_t鍚屾牱娌℃湁瑙勫畾緙栫爜錛屽洜涓篣nicode鐨勬蹇墊垜浠悗闈㈡墠瑙i噴錛屾墍浠ヨ繖閲屽彧鏄彁涓涓嬶紝鍦? win32涓紝wchar_t鐨勭紪鐮佹槸UCS-2BE錛涜孡inux涓槸UTF-32BE錛堢瓑浠蜂簬UCS-4BE錛夛紝涓嶈繃綆鍗曠殑璇達(dá)紝鍦?6浣嶄互鍐咃紝涓涓瓧 絎︾殑榪?縐嶇紪鐮佸兼槸涓鏍風(fēng)殑銆傚洜姝わ細(xì)<br />const wchar_t* ws = L”涓枃abc”;<br />鐨勭紪鐮佸垎鍒負(fù)錛?br />0x4E2D   0×6587    0×0061   0×0062   0×0063                                                //win32錛?6浣?br />0x00004E2D   0×00006587    0×00000061   0×00000062   0×00000063        //Linux錛?2浣?br />澶у啓鐨凩鏄憡璇夌紪璇戝櫒錛氳繖鏄瀛楃涓層傛墍浠ワ紝榪欐椂鍊欐槸闇瑕佺紪璇戝櫒鏍規(guī)嵁locale鏉ヨ繘琛岀炕璇戠殑銆?br />姣斿錛屽湪Windows鐜涓紝緙栬瘧鍣ㄧ殑緲昏瘧絳栫暐鏄疓B2312鍒癠CS-2BE錛汱inux鐜涓殑絳栫暐鏄疷TF-8鍒癠TF-32BE銆?br />榪欐椂鍊欏氨瑕佹眰婧愭枃浠剁殑緙栫爜涓庣紪璇戝櫒鐨勬湰鍦板寲絳栫暐闆嗕腑浠g爜緲昏瘧鐨勭瓥鐣ヤ竴鑷達(dá)紝渚嬪VC鍙兘璇誨彇GB2312鐨勬簮浠g爜錛堣繖閲岃繕鏄緥澶栵紝VC澶嚜浣滆仾鏄庝簡(jiǎn) 錛屼細(xì)灝嗗緢澶氬叾浠栦唬鐮佸湪緙栬瘧鏃惰嚜鍔ㄨ漿鎹㈡垚GB2312錛夛紝鑰実cc鍙兘璇誨彇UTF-8鐨勬簮浠g爜錛堣繖閲屽氨鏈変釜灝村艾錛孧inGW榪愯win32涓嬶紝鎵浠ュ彧鏈? GB2312緋葷粺鎵嶈錛涜孧inGW鍗寸敤gcc緙栧啓錛屾墍浠ヨ嚜宸卞彧璁TF-8錛屾墍浠ョ粨鏋滃氨鏄紝MinGW鐨勫瀛楃琚簾鎺変簡(jiǎn)錛夈?br />瀹藉瓧絎︼紙涓詫級(jí)鐢辯紪璇戝櫒緲昏瘧錛岃繕鏄紜紪鐮佽繘紼嬪簭鏂囦歡涓?/p> <p>Unicode鍜孶CS<br />Unicode鍜孶CS鏄袱涓嫭绔嬬殑緇勭粐鍒嗗埆鍒跺畾鐨勪竴濂楃紪鐮佹爣鍑嗭紝浣嗘槸鍥犱負(fù)鍘嗗彶鐨勫師鍥狅紝榪欎袱濂楁爣鍑嗘槸瀹屽叏涓鏍風(fēng)殑銆俇nicode榪欎釜璇嶇敤寰楁瘮杈冨鐨勫師鍥犲彲 鑳芥槸鍥犱負(fù)姣旇緝瀹規(guī)槗璁頒綇錛屽鏋滄病鏈夌壒鍒殑澹版槑錛屽湪鏈枃鎵鎻愬強(qiáng)鐨刄nicode鍜孶CS灝辨槸涓涓剰鎬濄俇nicode鐨勭洰鏍囨槸寤虹珛涓濂楀彲浠ュ寘鍚漢綾繪墍鏈夎璦鏂? 瀛楃鍙蜂綘鎯沖緱鍒版兂涓嶅埌鐨勫悇縐嶄笢瑗跨殑緙栫爜錛屽叾緙栫爜瀹歸噺鐢氳嚦棰勭暀浜?jiǎn)鐏槦璇互鍙?qiáng)閾舵渤緋諱互澶栬璦鐨勭┖闂?#8212;—寮涓帺絎戯紝鍙嶆綆鍗曠殑璇達(dá)紝Unicode緙栫爜闆嗚凍澶熺殑 澶э紝濡傛灉鐢ㄨ綆楁満鍗曚綅鏉ヨ〃紺猴紝鍏舵暟閲忔瘮3涓瓧鑺傚ぇ涓浜涳紝涓嶅埌4涓瓧鑺傘?br />Unicode鍜孶TF<br />鍥犱負(fù)Unicode鍖呭惈鐨勫唴瀹瑰お澶氾紝鍏剁紪鐮佸湪璁$畻鏈轟腑鐨勮〃紺烘柟娉曞氨鎴愪負(fù)浜?jiǎn)涓涓湁蹇呰鐮旂┒鐨勯棶棰樸備紶緇熺紪鐮侊紝姣斿鏍囧噯鐨?浣岮SCII錛屽湪璁$畻鏈轟腑鐨勮〃紺烘柟 娉曞氨鏄崰涓涓瓧鑺傜殑鍚?浣嶏紝榪欎技涔庢槸涓嶉渶瑕佽В閲婂氨絎﹀悎澶у涔?fàn)鎯殑琛ńC烘柟娉曘備絾鏄綋浠奤nicode鐨勬繪暟杈懼埌32浣嶏紙璁$畻鏈虹殑鏈灝忓崟浣嶆槸瀛楄妭錛屾墍浠ュぇ浜? 瀛楄妭錛屽氨鍙兘鑷沖皯鐢?瀛楄妭琛ㄧず錛夛紝瀵逛簬澶ч儴鍒嗗父鐢ㄥ瓧絎︼紝姣斿Unicode緙栫爜鍙崰涓涓瓧鑺傚ぇ灝忕殑鑻辮瀛楁瘝錛屽崰涓や釜瀛楄妭澶у皬姹夊瓧錛岄兘鐢?涓瓧鑺傛潵鍌ㄥ瓨澶ア 渚堜簡(jiǎn)銆傚彟澶栵紝濡傛灉閮界敤4瀛楄妭鐩存帴琛ㄧず錛屽氨涓嶅彲閬垮厤鐨勫嚭鐜頒負(fù)0鐨勫瓧鑺傘傝屾垜浠煡閬擄紝鍦–璇█涓紝0×00鐨勫瓧鑺傚氨鏄?#8217;\0′錛岃〃紺虹殑鏄竴涓瓧絎︿覆錛坈har 瀛楃涓詫紝闈瀢char_t錛夌殑緇撴潫錛屾崲鍙ヨ瘽璇達(dá)紝C椋庢牸鐨刢har瀛楃涓叉棤娉曡〃紺篣nicode銆?br />鍥犱負(fù)綾諱技鐨勭縐嶉棶棰橈紝涓篣nicode鍦ㄨ綆楁満涓殑緙栫爜鏂規(guī)硶鍑虹幇浜?jiǎn)锛寴q欏氨鏄疷TF錛涙墍瀵瑰簲鐨勶紝涓篣CS緙栫爜瀹炵幇鐨勬柟寮忎篃鏈夎嚜宸辯殑璇存硶銆備竴鑸潵璇達(dá)紝UTF- x錛寈琛ㄧず榪欏緙栫爜涓涓崟浣嶈嚦灝戝崰鐢▁浣嶏紝鍥犱負(fù)Unicode鏈闀胯揪鍒?2浣嶏紝鎵浠TF-x閫氬父鏄彉闀跨殑——闄や簡(jiǎn)UTF-32錛涜孶CS-y琛ㄧず涓涓崟 浣嶅氨鍗犵敤y涓瓧鑺傦紝鎵浠ヨ兘琛ㄧず褰撲粖Unicode鐨刄CS-y鍙湁UCS-4錛屼絾鏄洜涓哄巻鍙茬殑鍘熷洜錛屽綋Unicode榪樻病閭d箞搴炲ぇ鐨勬椂鍊欙紝2涓瓧鑺傝凍澶熻〃 紺猴紝鎵浠ユ湁UCS-2錛岀幇鍦ㄧ湅鏉ワ紝UCS-2鎵鑳借〃紺虹殑Unicode鍙槸褰撲粖Unicode鐨勪竴涓瓙闆嗐?br />涔熷氨鏄錛屽鏋滄煇縐嶇紪鐮侊紝鑳芥牴鎹竴瀹氱殑瑙勫垯綆楁硶錛屽緱鍒癠nicode緙栫爜錛岄偅涔堣繖縐嶇紪鐮佹柟寮忓氨鍙互縐頒箣涓篣TF銆?br />UTF-8鍜學(xué)indows GB2312<br />UTF-8鏄竴濂?#8220;鑱槑”鐨勭紪鐮侊紝鍙兘鐢?錛?錛?錛?涓瓧鑺傝〃紺恒傞氳繃UTF-8鐨勭畻娉曪紝姣忎竴涓瓧鑺傝〃紺虹殑淇℃伅閮藉緢鏄庣‘錛氳繖鏄笉鏄煇涓猆nicode緙? 鐮佺殑絎竴涓瓧鑺傦紱濡傛灉鏄涓涓瓧鑺傦紝榪欐槸涓涓嚑浣峌nicode緙栫爜銆傝繖縐?#8220;鑱槑”琚О涓篣TF-8鐨勮嚜鎴戝悓姝ワ紝涔熸槸UTF-8鎴愪負(fù)緗戠粶浼犺緭鏍囧噯緙栫爜鐨勫師 鍥犮?br />鍙﹀錛孶TF-8涔熶笉浼?xì)鍑虹?瀛楄妭錛屾墍浠ュ彲浠ヨ〃紺轟負(fù)char瀛楃涓詫紝鎵浠ュ彲浠ユ垚涓虹郴緇熺殑緙栫爜銆侺inux緋葷粺榛樿浣跨敤UTF-8緙栫爜銆?br />Windows GB2312涓鑸嚜縐頒負(fù)GB2312錛屽叾瀹炵湡姝g殑鍚嶅瓧搴旇鏄疻indows Codepage 936錛岃繖涔熸槸涓縐嶅彉闀跨殑緙栫爜錛?涓瓧鑺傝〃紺轟紶緇熺殑ASCII閮ㄥ垎錛涙眽瀛楅儴鍒嗘槸涓や釜瀛楄妭鐨凣BK錛堝浗鏍囨墿錛堝睍錛夛紝鎷奸煶澹版瘝錛夈侰odepage 936涔熷彲浠ヨ〃紺轟負(fù)char瀛楃涓詫紝鏄腑鏂嘩indows緋葷粺鐨勯粯璁ょ紪鐮併?br />鎴戜滑鍦ㄧ1鑺備腑鐪嬪埌鐨?br />const char* s = “涓枃abc”;<br />鍦╓indows涓殑緙栫爜灝辨槸Codepage 936錛涘湪Linux涓殑緙栫爜灝辨槸UTF-8銆?br />闇瑕佹敞鎰忕殑鏄紝Codepage 936涓嶅儚UTF錛岃窡Unicode娌℃湁鎹㈢畻鐨勫叧緋伙紝鎵浠ュ彧鑳介氳繃“浠g爜欏?#8221;鎶鏈煡琛ㄥ搴斻?br />UTF-16鍜孶CS-2<br />UTF-16鐢?涓瓧鑺傛垨鑰?涓瓧鑺傝〃紺恒傚湪2涓瓧鑺傚ぇ灝忕殑鏃跺欙紝璺烾CS-2鏄竴鏍風(fēng)殑銆俇TF-16涓嶅儚UTF-8錛屾病鏈夎嚜鎴戝悓姝ユ満鍒訛紝鎵浠ワ紝緙栫爜澶т綅 鍦ㄥ墠榪樻槸灝忎綅鍦ㄥ墠錛屽氨鎴愪簡(jiǎn)瑙佷粊瑙佹櫤鐨勯棶棰樸傛垜浠湪絎?鑺備腑錛?#8220;涓?#8221;鐨刄CS-2BE錛堝洜涓烘槸涓や釜瀛楄妭錛屾墍浠ヤ篃灝辨槸UTF-16BE錛夌紪鐮佹槸0x4E2D錛? 榪欓噷鐨凚E灝辨槸澶т綅鍦ㄥ悗鐨勬剰鎬濓紙涔熷氨鏄皬浣嶅湪鍓嶄簡(jiǎn)錛夛紝瀵瑰簲鐨勶紝濡傛灉鏄疷CS-2LE錛岀紪鐮佸氨鎴愪簡(jiǎn)0x2D4E銆?br />Windows涓殑wchar_t灝辨槸閲囩敤UCS-2BE緙栫爜銆傞渶瑕佹寚鍑虹殑鏄紝C++鏍囧噯涓wchar_t鐨勮姹傛槸瑕佽兘琛ㄧず鎵鏈夌郴緇熻兘璇嗗埆鐨勫瓧絎︺俉indows鑷О鏀寔Unicode錛屼絾鏄叾wchar_t鍗翠笉鑳借〃紺烘墍鏈夌殑Unicode錛岀敱姝よ繚鑳屼簡(jiǎn)C++鏍囧噯銆?br />UTF-32鍜孶CS-4<br />UTF-32鍦ㄧ洰鍓嶉樁孌電瓑浠蜂簬UCS-4錛岄兘鐢ㄥ畾闀跨殑4涓瓧鑺傝〃紺恒俇TF-32鍚屾牱瀛樺湪BE鍜孡E鐨勯棶棰樸侺inux鐨剋char_t緙栫爜灝辨槸UTF- 32BE銆傚湪16浣嶄互鍐呯殑鏃跺欙紝UTF-32BE鐨勫悗涓や綅錛堝墠涓や綅鏄?×00 0×00錛夌瓑浠蜂簬UTF-16BE涔熷氨絳変環(huán)浜嶶CS-2BE<br />BOM<br />涓轟簡(jiǎn)璇存槑涓涓枃浠墮噰鐢ㄧ殑鏄粈涔堢紪鐮侊紝鍦ㄦ枃浠舵渶寮濮嬬殑閮ㄥ垎錛屽彲浠ユ湁BOM錛屾瘮濡?xFE 0xFF琛ㄧずUTF-16BE錛?xFF 0xFE 0×00 0×00琛ㄧずUTF-32LE銆俇TF-8鍘熸湰鏄笉闇瑕丅OM鐨勶紝鍥犱負(fù)鍏惰嚜鎴戝悓姝ョ殑鐗規(guī)э紝浣嗘槸涓轟簡(jiǎn)鏄庣‘璇存槑榪欐槸UTF-8錛堣屼笉鏄鏂囨湰緙栬緫鍣ㄥ幓鐚滐級(jí)錛屼篃 鍙互鍔犱笂UTF-8鐨凚OM錛?xEF 0xBB 0xBF<br />浠ヤ笂鍐呭閮借榪板緱寰堟鐣ワ紝璇︾粏淇℃伅璇鋒煡闃呯淮鍩虹櫨縐戠浉鍏沖唴瀹廣?/p> <p>std::locale<br />閫氳繃鍓嶉潰涓よ妭鐨勭煡璇嗭紝鎴戜滑鐭ラ亾浜?jiǎn)鍦–/C++涓紝瀛楃錛堜覆錛夊拰瀹藉瓧絎︼紙涓詫級(jí)涔嬮棿鐨勮漿鎹笉鏄畝鍗曠殑錛屽浐瀹氱殑鏁板鍏崇郴錛屽紿勮漿鎹緷璧栦簬鏈湴鍖栫瓥鐣ラ泦 錛坙ocale錛夈傛崲鍙ヨ瘽璇達(dá)紝涓涓▼搴忓湪榪愯涔嬪墠騫朵笉鐭ラ亾緋葷粺鐨勬湰鍦板寲絳栫暐闆嗘槸浠涔堬紝紼嬪簭鍙湁鍦ㄨ繍琛屼箣鍚庢墠閫氳繃locale鑾峰緱褰撴椂鐨勬湰鍦板寲絳栫暐闆嗐?br />C鏈夎嚜宸辯殑locale鍑芥暟錛屾垜浠繖閲岀洿鎺ヤ粙緇岰++鐨刲ocale綾匯?br />鍏堣璁簂ocale鐨勬瀯閫犲嚱鏁幫細(xì)<br />locale() throw();<br />榪欎釜鏋勯犲嚱鏁版槸鑾峰緱褰撳墠紼嬪簭鐨刲ocale錛岀敤娉曞涓嬶細(xì)<br />std::locale app_loc = std::locale();<br />鎴栬咃紙榪欐槸鏋勯犲璞$殑涓ょ琛ㄧず鏂瑰紡錛屽悗鍚岋級(jí)<br />std::locale app_loc;<br />鍙﹀涓涓瀯閫犲嚱鏁版槸錛?br />explicit locale(const char* name);<br />榪欎釜鏋勯犲嚱鏁頒互name鐨勫悕瀛楀垱寤烘柊鐨刲ocale銆傞噸瑕佺殑locale瀵硅薄鏈夛細(xì)<br />std::locale sys_loc(“”);      //鑾峰緱褰撳墠緋葷粺鐜鐨刲ocale<br />std::locale C_loc(“C”);      鎴栬?nbsp;     std::locale C_loc = std::locale::classic();      //鑾峰緱C瀹氫箟locale<br />std::locale old_loc = std::locale::global(new_loc);      //灝唍ew_loc璁劇疆涓哄綋鍓嶅叏灞locale錛屽茍灝嗗師鏉ョ殑locale榪斿洖緇檕ld_loc<br />闄や簡(jiǎn)榪欎簺錛屽叾瀹冪殑name鍏蜂綋鍚嶅瓧渚濊禆浜嶤++緙栬瘧鍣ㄥ拰鎿嶄綔緋葷粺錛屾瘮濡侺inux涓媑cc涓枃緋葷粺鐨刲ocale鍚嶅瓧涓?#8221;zh_CN.UTF-8″錛屼腑鏂嘩indows鍙互鐢?#8221;chs”錛堟洿鍔犲畬鏁寸殑鍚嶅瓧鍙互鐢╪ame()鍑芥暟鏌ョ湅錛夈?br />mbstowcs()鍜寃cstombs()<br />榪欎袱涓狢榪愯鏃跺簱鍑芥暟渚濊禆浜庡叏灞locale榪涜杞崲錛屾墍浠ワ紝浣跨敤鍓嶅繀欏誨厛璁劇疆鍏ㄥ眬locale銆?br />std::locale宸茬粡鍖呭惈鍦?lt;iostream>涓簡(jiǎn)錛屽啀鍔犱笂鎴戜滑闇瑕佺敤鍒扮殑C++瀛楃涓詫紝鎵浠ュ寘鍚?lt;string>銆?br />鎴戜滑鍏堢湅紿勫埌瀹界殑杞崲鍑芥暟錛?/p> <ol> <li>const std::wstring s2ws(const std::string& s)    </li><li>{    </li><li>    std::locale old_loc = std::locale::global(std::locale(""));    </li><li>    const char* src_str = s.c_str();    </li><li>    const size_t buffer_size = s.size() + 1;    </li><li>    wchar_t* dst_wstr = new wchar_t[buffer_size];    </li><li>    wmemset(dst_wstr, 0, buffer_size);    </li><li>    mbstowcs(dst_wstr, src_str, buffer_size);    </li><li>    std::wstring result = dst_wstr;    </li><li>    delete []dst_wstr;    </li><li>    std::locale::global(old_loc);    </li><li>    return result;    </li><li>}   </li><li>  </li></ol> <p>鎴戜滑灝嗗叏灞locale璁劇疆涓虹郴緇焞ocale錛屽茍淇濆瓨鍘熸潵鐨勫叏灞locale鍦╫ld_loc涓?br />鍦ㄥ埗瀹氳漿鎹㈢┖闂寸紦瀛樺ぇ灝忕殑鏃跺欙紝鑰冭檻濡備笅錛歝har鏄敤1涓垨澶氫釜瀵硅薄錛屼篃灝辨槸1涓垨鑰呭涓瓧鑺傛潵琛ㄧず鍚勭絎﹀彿錛氭瘮濡傦紝GB2312鐢?涓瓧鑺傝〃紺烘暟瀛楀拰 瀛楁瘝錛?涓瓧鑺傝〃紺烘眽瀛楋紱UTF-8鐢ㄤ竴涓瓧鑺傝〃紺烘暟瀛楀拰瀛楁瘝錛?涓瓧鑺傝〃紺烘眽瀛楋紝4涓瓧鑺傝〃紺轟竴浜涘緢灝戠敤鍒扮殑絎﹀彿錛屾瘮濡傞煶涔愪腑G澶ц皟絎﹀彿絳夈? wchar_t鏄敤1涓璞★紙2瀛楄妭鎴栬?瀛楄妭錛夋潵琛ㄧず鍚勭絎﹀彿銆傚洜姝わ紝琛ㄧず鍚屾牱鐨勫瓧絎︿覆錛屽瀛楃涓茬殑澶у皬錛堜篃灝辨槸wchar_t瀵硅薄鐨勬暟閲忥級(jí)鎬繪槸灝忎簬鎴? 鑰呯瓑浜庣獎(jiǎng)瀛楃涓插ぇ灝忥紙char瀵硅薄鏁伴噺錛夌殑銆?1鏄負(fù)浜?jiǎn)鍦ㄦ渶鍚庨鐣欎竴涓間負(fù)0鐨勫璞★紝浠ヤ究璁〤椋庢牸鐨刢har鎴栬厀char_t瀛楃涓茶嚜鍔ㄦ埅鏂?#8212;—榪欏綋鐒? 鏄涓插ぇ灝忕瓑浜庣獎(jiǎng)涓插ぇ灝忕殑鏃跺欐墠浼?xì)鐢ㄤ笂鐨勫Q屽ぇ閮ㄥ垎鏃跺欙紝瀛楃涓叉棭鍦ㄥ墠闈㈡煇涓漿鎹㈠畬姣曠殑浣嶇疆灝辮0鍊煎璞℃墍鎴柇浜?jiǎn)銆?br />鏈鍚庢垜浠皢鍏ㄥ眬locale璁劇疆鍥炲師鏉ョ殑old_loc銆?br />紿勪覆鍒板涓茬殑杞崲鍑芥暟錛?/p> <ol> <li>const std::string ws2s(const std::wstring& ws)    </li><li>{    </li><li>    std::locale old_loc = std::locale::global(std::locale(""));    </li><li>    const wchar_t* src_wstr = ws.c_str();    </li><li>    size_t buffer_size = ws.size() * 4 + 1;    </li><li>    char* dst_str = new char[buffer_size];    </li><li>    memset(dst_str, 0, buffer_size);    </li><li>    wcstombs(dst_str ,src_wstr, buffer_size);    </li><li>    std::string result = dst_str;    </li><li>    delete []dst_str;    </li><li>    std::locale::global(old_loc);    </li><li>    return result;    </li><li>}   </li><li>  </li></ol> <p>榪欓噷鑰冭檻杞崲絀洪棿緙撳瓨澶у皬鐨勭瓥鐣ユ濂界浉鍙嶏紝鍦ㄦ渶鏋佺鐨勬儏鍐典笅錛屾墍鏈夌殑wchar_t閮介渶瑕?涓猚har鏉ヨ〃紺猴紝鎵浠ユ渶澶х殑鍙兘灝辨槸4鍊嶅姞1銆?br />榪欎袱涓嚱鏁板湪VC鍜実cc涓兘鑳芥甯歌繍琛岋紙MinGW鍥犱負(fù)鍓嶉潰璇村埌鐨勫師鍥犱笉鏀寔瀹藉瓧絎︾殑姝e父浣跨敤錛夛紝鍦╒C涓細(xì)緇欏嚭涓嶅畨鍏ㄧ殑璀﹀憡錛岃繖鏄憡璇夌粰閭d簺寮勪笉娓呭紿勮漿鎹㈠疄璐ㄧ殑浜虹殑璀﹀憡錛屽浜庝簡(jiǎn)瑙e埌鐩墠榪欎簺鐭ヨ瘑鐨勪綘鎴戞潵璇達(dá)紝榪欏氨鏄暟鍡︿簡(jiǎn)銆?/p> <p>locale鍜宖acet<br />C++鐨刲ocale妗嗘灦姣擟鏇村畬澶囥侰++闄や簡(jiǎn)涓涓緇熸湰鍦扮瓥鐣ラ泦locale錛岃繕鍙互涓簂ocale鎸囧畾鍏蜂綋鐨勭瓥鐣acet錛岀敋鑷沖彲浠ョ敤鑷繁瀹氫箟鐨? facet鍘繪敼閫犱竴涓幇鏈夌殑locale浜х敓涓涓柊鐨刲ocale銆傚鏋滄湁涓涓猣acet綾籒ewFacet闇瑕佹坊鍔犲埌鏌愪釜old_loc涓艦鎴愭柊 new_loc錛岄渶瑕佸彟澶栦竴涓瀯閫犲嚱鏁幫紝閫氬父鐨勫仛娉曟槸錛?br />std::locale new_loc(old_loc, new NewFacet);<br />鏍囧噯搴撻噷鐨勬爣鍑唂acet閮藉叿鏈夎嚜宸辯壒鏈夌殑鍔熻兘錛岃闂竴涓猯ocale瀵硅薄涓壒瀹氱殑facet闇瑕佷嬌鐢ㄦā鏉垮嚱鏁皍se_facet錛?br />template <class Facet> const Facet& use_factet(const locale&);<br />鎹竴縐嶈娉曪紝use_facet鎶婁竴涓猣acet綾誨疄渚嬪寲鎴愪簡(jiǎn)瀵硅薄錛岀敱姝ゅ氨鍙互浣跨敤榪欎釜facet瀵硅薄鐨勬垚鍛樺嚱鏁般?br />codecvt<br />codecvt灝辨槸涓涓爣鍑唂acet銆傚湪C++鐨勮璁℃鏋墮噷錛岃繖鏄竴涓氱敤鐨勪唬鐮佽漿鎹㈡ā鏉?#8212;—涔熷氨鏄錛屽茍涓嶆槸浠呬粎涓哄紿勮漿鎹㈠埗瀹氱殑銆?br />templat <class I, class E, class State> class std::codecvt: public locale, public codecvt_base{…};<br />I琛ㄧず鍐呴儴緙栫爜錛孍琛ㄧず澶栭儴緙栫爜錛孲tate鏄笉鍚岃漿鎹㈡柟寮忕殑鏍囪瘑錛屽鏋滃畾涔夊涓嬬被鍨嬶細(xì)<br />typedef std::codecvt<wchar_t, char, mbstate_t> CodecvtFacet;<br />閭d箞CodecvtFacet灝辨槸涓涓爣鍑嗙殑瀹界獎(jiǎng)杞崲facet錛屽叾涓璵bstate_t鏄爣鍑嗗紿勮漿鎹㈢殑State銆?br />鍐呴儴緙栫爜鍜屽閮ㄧ紪鐮?br />鎴戜滑鑰冭檻絎?鑺備腑鎻愬埌鐨凜++緙栬瘧鍣ㄨ鍙栨簮鏂囦歡鏃跺欑殑鎯呭艦錛屽綋璇誨埌L”涓枃abc”鐨勬椂鍊欙紝澶栭儴緙栫爜錛屼篃灝辨槸婧愭枃浠剁殑緙栫爜錛屾槸GB2312鎴栬匲TF-8 鐨刢har錛岃岀紪璇戝櫒蹇呴』灝嗗叾緲昏瘧涓篣CS-2BE鎴栬匲TF-32BE鐨剋char_t錛岃繖涔熷氨鏄▼搴忕殑鍐呴儴緙栫爜銆傚鏋滀笉鏄瀛楃涓詫紝鍐呭緙栫爜閮芥槸 char錛屼篃灝變笉闇瑕佽漿鎹簡(jiǎn)銆傜被浼肩殑錛屽綋C++璇誨啓鏂囦歡鐨勬椂鍊? 錛屽氨浼?xì)鍙兘闇瑕佸埌鍐呭緙栫爜杞崲銆備簨瀹炰笂錛宑odecvt灝辨鏄鏂囦歡嫻佺紦瀛榖asic_filebuf鎵浣跨敤鐨勩傜悊瑙h繖涓鐐瑰緢閲嶈錛屽師鍥犱細(xì)鍦ㄤ笅涓灝忚妭鐪? 鍒般?br />CodecvtFacet鐨刬n()鍜宱ut()<br />鍥犱負(fù)鍦–odecvtFacet涓紝鍐呴儴緙栫爜璁劇疆涓簑char_t錛屽閮ㄧ紪鐮佽緗負(fù)char錛岃漿鎹㈡ā寮忔槸鏍囧噯瀹界獎(jiǎng)杞崲mbstate_t錛屾墍浠ワ紝綾繪柟娉? in()灝辨槸浠巆har鏍囧噯杞崲鍒皐char_t錛宱ut()灝辨槸浠巜char_t鏍囧噯杞崲鍒癱har銆傝繖灝辨垚浜?jiǎn)鎴戜滑姝i渶瑕佺殑鍐呭杞崲鍑芥暟銆?br />result in(State& s, const E* from, const E* from_end, const E*& from_next, I* to,  I* to_end, I*& to_next) const;<br />result out(State& s, const I* from, const I* from_end, const I*& from_next, E* to, E* to_end, E*& to_next) const;<br />鍏朵腑錛宻鏄潪const寮曠敤錛屼繚瀛樼潃杞崲浣嶇Щ鐘舵佷俊鎭傝繖閲岄渶瑕侀噸鐐瑰己璋冪殑鏄紝鍥犱負(fù)杞崲鐨勫疄闄呭伐浣滀氦緇欎簡(jiǎn)榪愯鏃跺簱錛屼篃灝辨槸璇達(dá)紝杞崲鍙兘涓嶆槸鍦ㄧ▼搴忕殑涓昏繘紼? 涓畬鎴愮殑錛岃岃漿鎹㈠伐浣滀緷璧栦簬鏌ヨs鐨勫鹼紝鍥犳錛屽鏋渟鍦ㄨ漿鎹㈢粨鏉熷墠鏋愭瀯錛屽氨鍙兘鎶涘嚭榪愯鏃跺紓甯搞傛墍浠ワ紝鏈瀹夊叏鐨勫姙娉曟槸錛屽皢s璁劇疆涓哄叏灞鍙橀噺錛?br />const鐨?涓寚閽堝垎鍒槸寰呰漿鎹㈠瓧絎︿覆鐨勮搗鐐癸紝緇堢偣錛屽拰鍑虹幇閿欒鏃跺欑殑鍋滅偣錛堢殑涓嬩竴涓綅緗級(jí)錛涘彟澶?涓寚閽堟槸杞崲鐩爣瀛楃涓茬殑璧風(fēng)偣錛岀粓鐐逛互鍙?qiáng)鍑虹幇閿欒鏃跺欑殑鍋滅偣錛堢殑涓嬩竴涓綅緗級(jí)銆?br />浠g爜濡備笅錛?br />澶存枃浠訛細(xì)</p> <ol> <li>//Filename string_wstring_cppcvt.hpp    </li><li>#ifndef STRING_WSTRING_CPPCVT_HPP    </li><li>#define STRING_WSTRING_CPPCVT_HPP    </li><li>#include <iostream>    </li><li>#include <string>    </li><li>const std::wstring s2ws(const std::string& s);    </li><li>const std::string ws2s(const std::wstring& s);    </li><li>#endif   </li><li>  </li></ol> <p>瀹炵幇錛?/p> <ol> <li>#include "string_wstring_cppcvt.hpp"    </li><li>mbstate_t in_cvt_state;    </li><li>mbstate_t out_cvt_state;    </li><li>const std::wstring s2ws(const std::string& s)    </li><li>{    </li><li>    std::locale sys_loc("");    </li><li>    const char* src_str = s.c_str();    </li><li>    const size_t BUFFER_SIZE = s.size() + 1;    </li><li>    wchar_t* intern_buffer = new wchar_t[BUFFER_SIZE];    </li><li>    wmemset(intern_buffer, 0, BUFFER_SIZE);    </li><li>    const char* extern_from = src_str;    </li><li>    const char* extern_from_end = extern_from + s.size();    </li><li>    const char* extern_from_next = 0;    </li><li>    wchar_t* intern_to = intern_buffer;    </li><li>    wchar_t* intern_to_end = intern_to + BUFFER_SIZE;    </li><li>    wchar_t* intern_to_next = 0;    </li><li>    typedef std::codecvt<wchar_t, char, mbstate_t> CodecvtFacet;    </li><li>    CodecvtFacet::result cvt_rst =    </li><li>    std::use_facet<CodecvtFacet>(sys_loc).in(    </li><li>            in_cvt_state,    </li><li>            extern_from, extern_from_end, extern_from_next,    </li><li>            intern_to, intern_to_end, intern_to_next);    </li><li>    if (cvt_rst != CodecvtFacet::ok) {    </li><li>        switch(cvt_rst) {    </li><li>        case CodecvtFacet::partial:    </li><li>                std::cerr << "partial";    </li><li>                break;    </li><li>        case CodecvtFacet::error:    </li><li>                std::cerr << "error";    </li><li>                break;    </li><li>        case CodecvtFacet::noconv:    </li><li>                std::cerr << "noconv";    </li><li>                break;    </li><li>        default:    </li><li>                std::cerr << "unknown";    </li><li>        }    </li><li>        std::cerr  << ", please check in_cvt_state."    </li><li><< std::endl;    </li><li>    }    </li><li>    std::wstring result = intern_buffer;    </li><li>    delete []intern_buffer;    </li><li>    return result;    </li><li>}    </li><li>const std::string ws2s(const std::wstring& ws)    </li><li>{    </li><li>    std::locale sys_loc("");    </li><li>    const wchar_t* src_wstr = ws.c_str();    </li><li>    const size_t MAX_UNICODE_BYTES = 4;    </li><li>    const size_t BUFFER_SIZE =    </li><li>                ws.size() * MAX_UNICODE_BYTES + 1;    </li><li>    char* extern_buffer = new char[BUFFER_SIZE];    </li><li>    memset(extern_buffer, 0, BUFFER_SIZE);    </li><li>    const wchar_t* intern_from = src_wstr;    </li><li>    const wchar_t* intern_from_end = intern_from + ws.size();    </li><li>    const wchar_t* intern_from_next = 0;    </li><li>    char* extern_to = extern_buffer;    </li><li>    char* extern_to_end = extern_to + BUFFER_SIZE;    </li><li>    char* extern_to_next = 0;    </li><li>    typedef std::codecvt&lt;wchar_t, char, mbstate_t> CodecvtFacet;    </li><li>    CodecvtFacet::result cvt_rst =    </li><li>    std::use_facet<CodecvtFacet>(sys_loc).out(    </li><li>            out_cvt_state,    </li><li>            intern_from, intern_from_end, intern_from_next,    </li><li>            extern_to, extern_to_end, extern_to_next);    </li><li>    if (cvt_rst != CodecvtFacet::ok) {    </li><li>        switch(cvt_rst) {    </li><li>        case CodecvtFacet::partial:    </li><li>                std::cerr << "partial";    </li><li>                break;    </li><li>        case CodecvtFacet::error:    </li><li>                std::cerr << "error";    </li><li>                break;    </li><li>        case CodecvtFacet::noconv:    </li><li>                std::cerr << "noconv";    </li><li>                break;    </li><li>        default:    </li><li>                std::cerr << "unknown";    </li><li>        }    </li><li>        std::cerr << ", please check out_cvt_state."    </li><li><< std::endl;    </li><li>    }    </li><li>    std::string result = extern_buffer;    </li><li>    delete []extern_buffer;    </li><li>    return result;    </li><li>}   </li><li>  </li></ol> <p>鏈鍚庤ˉ鍏呰鏄庝竴涓媠td::use_facet&lt;CodecvtFacet>(sys_loc).in()鍜? std::use_facet<CodecvtFacet>(sys_loc).out()銆俿ys_loc鏄郴緇熺殑locale錛岃繖涓? locale涓氨鍖呭惈鐫鐗瑰畾鐨刢odecvt facet錛屾垜浠凡緇弔ypedef涓轟簡(jiǎn)CodecvtFacet銆傜敤use_facet瀵笴odecvtFacet榪涜浜?jiǎn)瀹炰緥鍖栧Q屾墍浠ュ彲浠ヤ嬌鐢ㄨ繖涓? facet鐨勬柟娉昳n()鍜宱ut()銆?/p> <p>C++鐨勬祦鍜屾湰鍦板寲絳栫暐闆?br />BS鍦ㄨ璁++嫻佺殑鏃跺欏笇鏈涘叾鍏峰鏅鴻兘鍖栵紝騫朵笖鏄彲鎵╁睍鐨勬櫤鑳藉寲錛屼篃灝辨槸璇達(dá)紝C++鐨勬祦鍙互“璇繪噦”涓浜涘唴瀹廣傛瘮濡傦細(xì)</p> <p>std::cout <&lt; 123 &lt;&lt; “ok” &lt;&lt; std::endl;</p> <p>榪欏彞浠g爜涓紝std::cout鏄兘鍒ゆ柇鍑?23鏄痠nt鑰?#8221;ok”鏄痗onst char[3]銆傚埄鐢ㄦ祦鐨勬櫤鑳斤紝鐢氳嚦鍙互鍋氫竴浜涘熀紜綾誨瀷鐨勮漿鎹紝姣斿浠巌nt鍒皊tring錛宻tring鍒癷nt錛?/p> <ol> <li>std::string str("123");    </li><li>std::stringstream sstr(str);    </li><li>int i;    </li><li>sstr >&gt; i;   </li><li>  </li><li>int i = 123;    </li><li>std::stringstream sstr;    </li><li>sstr <&lt; i;    </li><li>std::string str = sstr.str();   </li><li>  </li></ol> <p>灝界濡傛錛孋++騫朵笉婊¤凍錛孋++鐢氳嚦甯屾湜嫻佽兘“鏄庣櫧”鏃墮棿錛岃揣甯佺殑琛ㄧず娉曘傝屾椂闂村拰璐у竵鐨勮〃紺烘柟娉曞湪涓栫晫鑼冨洿鍐呮槸涓嶅悓鐨勶紝鎵浠ワ紝姣忎竴涓祦閮芥湁鑷繁 鐨刲ocale鍦ㄥ獎(jiǎng)鍝嶅叾琛屼負(fù)錛孋++涓彨鍋氭縺媧伙紙imbue錛屼篃鏈夌炕璇戞垚嫻告煋錛夈傝屾垜浠煡閬擄紝姣忎竴涓猯ocale閮芥湁澶氫釜facet錛岃繖浜沠acet騫墮潪 鎬繪槸琚玼se_facet浣跨敤鐨勩傚喅瀹氫嬌鐢ㄥ摢浜沠acet鐨勶紝鏄祦鐨勭紦瀛榖asic_streambuf鍙?qiáng)鍏秼z劇敓綾籦asic_stringbuf鍜? basic_filebuf銆傛垜浠鐢ㄥ埌鐨刦acet鏄痗odecvt錛岃繖涓猣acet鍙basic_filebuf浣跨敤——榪欏氨鏄負(fù)浠涔堝彧鑳界敤 fstream鏉ュ疄鐜板紿勮漿鎹紝鑰屾棤娉曚嬌鐢╯stream鏉ュ疄鐜扮殑鍘熷洜銆?br />澶存枃浠訛細(xì)</p> <ol> <li>//filename string_wstring_fstream.hpp    </li><li>#ifndef STRING_WSTRING_FSTREAM_HPP    </li><li>#define STRING_WSTRING_FSTREAM_HPP    </li><li>#include &lt;string>    </li><li>const std::wstring s2ws(const std::string& s);    </li><li>const std::string ws2s(const std::wstring& s);    </li><li>#endif  </li></ol> <p>瀹炵幇錛?/p> <ol> <li>#include <string>    </li><li>#include <fstream>    </li><li>#include "string_wstring_fstream.hpp"    </li><li>const std::wstring s2ws(const std::string& s)    </li><li>{    </li><li>    std::locale sys_loc("");    </li><li>    std::ofstream ofs("cvt_buf");    </li><li>    ofs <&lt; s;    </li><li>    ofs.close();    </li><li>    std::wifstream wifs("cvt_buf");    </li><li>    wifs.imbue(sys_loc);    </li><li>    std::wstring wstr;    </li><li>    wifs >&gt; wstr;    </li><li>    wifs.close();    </li><li>    return wstr;    </li><li>}    </li><li>const std::string ws2s(const std::wstring& s)    </li><li>{    </li><li>    std::locale sys_loc("");    </li><li>    std::wofstream wofs("cvt_buf");    </li><li>    wofs.imbue(sys_loc);    </li><li>    wofs <&lt; s;    </li><li>    wofs.close();    </li><li>    std::ifstream ifs("cvt_buf");    </li><li>    std::string str;    </li><li>    ifs >&gt; str;    </li><li>    ifs.close();    </li><li>    return str;    </li><li>}   </li><li>  </li></ol> <p>鍦ㄧ獎(jiǎng)鍒板鐨勮漿鍖栦腑錛屾垜浠厛浣跨敤榛樿鐨勬湰鍦板寲絳栫暐闆嗭紙locale錛夊皢s閫氳繃紿勬枃浠舵祦ofs浼犲叆鏂囦歡錛岃繖鏄痗har鍒癱har鐨勪紶閫掞紝娌℃湁浠諱綍杞崲錛? 鐒跺悗鎴戜滑鎵撳紑瀹芥枃浠舵祦wifs錛屽茍鐢ㄧ郴緇熺殑鏈湴鍖栫瓥鐣ラ泦錛坙ocale錛夊幓嬋媧伙紙imbue錛変箣錛屾祦鍦ㄨ鍥炲涓瞱str鐨勬椂鍊欙紝灝辨槸char鍒? wchar_t鐨勮漿鎹紝騫朵笖鍥犱負(fù)嬋媧諱簡(jiǎn)sys_loc錛屾墍浠ュ疄鐜版爣鍑嗙獎(jiǎng)鍒板鐨勮漿鎹€?br />鍦ㄥ鍒扮獎(jiǎng)鐨勮漿鍖栦腑錛屾垜浠厛鎵撳紑鐨勬槸瀹芥枃浠舵祦wofs錛屽茍涓旂敤緋葷粺鐨勬湰鍦板寲絳栫暐闆唖ys_loc嬋媧伙紙imbue錛変箣錛岃繖鏃跺欙紝鍥犱負(fù)瑕佸啓鐨勬枃浠? cvt_buf鏄竴涓閮ㄧ紪鐮侊紝鎵浠ユ墽琛屼簡(jiǎn)浠巜char_t鍒癱har鐨勬爣鍑嗚漿鎹€傝鍥炴潵鐨勬枃浠舵祦浠巆har鍒癱har錛屼笉鍋氫換浣曡漿鎹€?/p> <p>紜紪鐮佺殑紜激<br />鎴戜滑鐜板湪鐭ラ亾錛孋/C++鐨勫紿勮漿鎹㈡槸渚濊禆緋葷粺鐨刲ocale鐨勶紝騫朵笖鍦ㄨ繍琛屾椂瀹屾垚銆傝冭檻榪欐牱涓縐嶆儏鍐碉紝鎴戜滑鍦ㄧ畝浣撲腑鏂嘩indows涓嬬紪璇戝涓嬭鍙ワ細(xì)<br />const char* s = “涓枃abc”;<br />鏍規(guī)嵁鎴戜滑涔嬪墠鐨勮璁猴紝緙栬瘧鍣ㄥ皢鎸夌収Windows Codepage936錛圙B2312錛夊榪欎釜瀛楃涓茶繘琛岀紪鐮併傚鏋滄垜浠湪紼嬪簭涓繍琛屽紿勮漿鎹㈠嚱鏁幫紝灝唖杞崲涓哄瀛楃涓瞱s錛屽鏋滆繖涓▼搴忚繍琛屽湪綆浣撲腑鏂? 鐜涓嬫槸娌¢棶棰樼殑錛屽皢鎵ц浠嶨B2312鍒癠CS-2BE鐨勮漿鎹紱浣嗘槸錛屽鏋滃湪鍏朵粬璇█鐜涓嬶紝姣斿鏄箒浣撲腑鏂嘊IG5錛岀▼搴忓皢鏍規(guī)嵁緋葷粺鐨刲ocale鎵? 琛屼粠BIG5鍒癠CS-2BE鐨勮漿鎹紝榪欐樉鐒跺氨鍑虹幇浜?jiǎn)閿欒銆?br />琛ユ晳<br />鏈夋病鏈夎ˉ鏁戣繖涓棶棰樼殑鍔炴硶鍛紵涓涓В鍐蟲(chóng)柟妗堝氨鏄墽琛屼笉渚濊禆locale鐨勫紿勮漿鎹€傚疄闄呬笂錛岃繖灝卞凡緇忎笉鏄紿勮漿鎹箣闂寸殑闂?shù)簡(jiǎn)锛岃屾槸緙栫爜涔嬮棿杞崲鐨勯棶棰? 浜?jiǎn)銆傛垜浠彲浠ョ敤GNU鐨刲ibiconv瀹炵幇浠繪剰緙栫爜闂寸殑杞崲錛屽浜庝互涓婄殑鍏蜂綋鎯呭喌錛屾寚鏄庢槸浠嶨B2312鍒癠CS-2BE灝變笉浼?xì)鍑洪敊銆傦紙璇峰弬鑰冩湰浜哄墠闈?鐨勭珷鑺傦細(xì)<a href="http://m.shnenglu.com/deane/archive/2011/lf426/archive/2008/03/30/45738.html" target="\"_blank\"">win32涓嬬殑libiconv</a>錛夛紝浣嗚繖鏄劇劧鏄竴涓鎷欑殑絳栫暐錛氭垜浠湪綆浣撲腑鏂嘩indows涓嬪繀欏諱嬌鐢℅B2312鍒癠CS-2BE鐗堟湰鐨勫紿勮漿鎹㈠嚱鏁幫紱鍒頒簡(jiǎn)BIG5鐜涓嬶紝灝卞繀欏婚噸鏂板啓浠嶣IG5鍒癠CS-2BE鐨勫紿勮漿鎹㈠嚱鏁般?br />Windows鐨勭瓥鐣?br />Windows鐨勭瓥鐣ユ槸娣樻卑浜?jiǎn)绐?jiǎng)瀛楃涓詫紝騫茶剢鍙敤瀹藉瓧絎︿覆銆傛墍鏈夌殑紜紪鐮佸叏閮ㄥ姞涓婄壒瀹氬畯錛屾瘮濡俆EXT()錛屽鏋滅▼搴忔槸鎵璋揢nicode緙栬瘧錛屽湪緙栬瘧鏃跺氨緲昏瘧涓篣CS2-BE——Windows鑷О涓篣nicode緙栫▼錛屽叾鏈川鏄嬌鐢ㄤ簡(jiǎn)UCS-2BE鐨?6浣嶅瀛楃涓層?br />Linux鐨勭瓥鐣?br />Linux涓嬫牴鏈氨涓嶅瓨鍦ㄨ繖涓棶棰橈紒鍥犱負(fù)鍚勭璇█鐨凩inux閮戒嬌鐢║TF-8鐨勭紪鐮侊紝鎵浠ワ紝鏃犺緋葷粺locale濡備綍鍙樺寲錛岀獎(jiǎng)鍒板杞崲鐨勮鍒欎竴鐩存槸UTF-8鍒癠TF32-BE 銆?br />璺ㄥ鉤鍙扮瓥鐣?br />鍥犱負(fù)鍦?6浣嶇殑鑼冨洿鍐咃紝UTF32-BE鐨勫墠16浣嶄負(fù)0錛屽悗16浣嶄笌UCS2-BE鏄竴鏍風(fēng)殑錛屾墍浠ワ紝鍗充嬌wchar_t鐨剆izeof()涓嶄竴鏍鳳紝鍦ㄤ竴鑸儏鍐典笅錛岃法騫沖彴浣跨敤瀹藉瓧絎︼紙涓詫級(jí)涔熷簲璇ユ槸鍏煎鐨勩備絾鏄緷鐒跺瓨鍦ㄦ綔鍦ㄧ殑闂錛屽氨鏄偅浜?瀛楄妭鐨刄TF32緙栫爜銆?br />gettext絳栫暐<br />浠ヤ笂閮芥槸灝咥SCII鍙?qiáng)浠ュ鐨劸~栫爜紜紪鐮佸湪紼嬪簭涓殑鍔炴硶銆侴NU鐨刧ettext鎻愪緵浜?jiǎn)鍙﹀涓縐嶉夋嫨錛氬湪紼嬪簭涓彧紜紪鐮丄SCII錛屽璇█鏀寔鐢眊ettext鍑芥暟搴撳湪榪愯鏃跺姞杞姐傦紙瀵筭ettext鐨勪粙緇嶈鍙傝冩湰浜哄墠闈㈢殑绔犺妭錛?a href="http://m.shnenglu.com/deane/archive/2011/lf426/archive/2008/03/30/45723.html" target="\"_blank\"">Win32涓嬬殑GetText</a>錛夈? gettext鐨勫璇█緲昏瘧鏂囦歡涓嶅湪紼嬪簭涓紝鑰屾槸鍗曠嫭鐨勬彁鍑烘潵鏀懼湪鐗瑰畾鐨勪綅緗俫ettext鏄庣‘鐨勭煡閬撹繖浜涚炕璇戞枃浠剁殑緙栫爜錛屾墍浠ュ彲浠ュ噯紜殑鍛婅瘔緇欑郴緇熺炕 璇戠殑姝g‘淇℃伅錛岃岀郴緇熷皢榪欎簺淇℃伅浠ュ綋鍓嶇殑緋葷粺locale緙栫爜鎴愮獎(jiǎng)瀛楃涓插弽棣堢粰紼嬪簭銆備緥濡傦紝鍦ㄧ畝浣撲腑鏂嘩indows涓紝gettext鐨刾o鏂囦歡涔熷彲浠? 浠TF-8鍌ㄥ瓨錛実ettext灝唒o鏂囦歡緲昏瘧鎴恗o鏂囦歡錛岀‘淇漨o鏂囦歡鍦ㄤ換浣曠郴緇熷拰璇█鐜涓嬮兘鑳藉姝g‘緲昏瘧銆傚湪榪愯鏄紶緇檞in32紼嬪簭鐨勭獎(jiǎng)涓茬鍚? 褰撳墠locale錛屾槸GB2312銆俫ettext璁╁浗闄呭寲鐨勭炕璇戞洿鍔犵殑鏂逛究錛岀己鐐規(guī)槸鐩墠鎴戞病鎵懼埌鏀寔瀹藉瓧絎︿覆鐨勭増鏈紙鎹鏄湁ugettext()鏀寔 瀹藉瓧絎︿覆錛夛紝鎵浠ヨ浣跨敤gettext鍙兘浣跨敤紿勫瓧絎︿覆銆備絾鏄痝ettext鍙互杞崲鍒板瀛楃涓詫紝鑰屼笖涓嶄細(xì)鍑虹幇瀹界獎(jiǎng)杞崲鐨勯棶棰橈紝鍥犱負(fù)gettext鏄繍琛? 鏃舵牴鎹甽ocale緲昏瘧鐨勩備緥濡傦細(xì)<br />const char* s = gettext(“Chinese a b c”);<br />鍏朵腑”Chinese a b c”鍦╬o涓殑緲昏瘧鏄?#8221;涓枃abc”<br />浣跨敤渚濊禆locale鐨勮繍琛屾椂瀹界獎(jiǎng)杞崲鍑芥暟錛?br />const std::wstring wstr = s2ws(s);<br />榪愯鏃惰皟鐢ㄨpo鏂囦歡瀵瑰簲鐨刴o鏂囦歡錛屽湪綆浣撲腑鏂囩幆澧冧笅灝變互GB2312浼犵粰紼嬪簭錛屽湪綣佷綋涓枃涓氨浠IG5浼犵粰紼嬪簭錛岃繖鏍穝2ws()鎬昏兘澶熸甯告崲綆楃紪鐮併?br />鏇村<br />鍦ㄦ湰鏂囩殑鏈鍚庯紝鎴戞兂鍥炲埌C++鐨剆tream闂?shù)笂銆傜敤fstream杞崲濡傛鐨勭畝鍗曪紝sstream鍗翠笉鏀寔銆傛敼閫犱竴涓敮鎸乧odecvt鐨? string stream闇瑕佹敼閫燽asic_stringbuf銆俠asic_stringbuf鍜宐asic_filebuf閮芥淳鐢熻嚜 basic_streambuf錛屾墍涓嶅悓鐨勬槸basic_filebuf鍦ㄦ瀯閫犲拰open()鐨勬椂鍊欒皟鐢ㄤ簡(jiǎn)codecvt錛屽彧闇瑕佸湪 basic_stringbuf涓坊鍔犺繖涓姛鑳藉氨鍙互浜?jiǎn)銆傝璧鋒潵瀹規(guī)槗錛屽疄闄呬笂鏄渶瑕侀噸鏂版敼閫犱竴涓猄TL妯℃澘錛屽敖綆¤繖浜涙ā鏉挎簮浠g爜閮芥槸鍦ㄦ爣鍑嗗簱澶存枃浠朵腑鐜版垚 鐨勶紝浣嗘槸鎴戣繕鏄按騫蟲(chóng)湁闄愶紝娌℃湁鍘繪繁絀朵簡(jiǎn)銆傚彟澶栦竴涓濊礬鏄瀯寤轟竴涓熀浜庡唴瀛樻槧灝勭殑铏氭嫙鏂囦歡錛岃繖涓鏋跺湪boost鐨刬ostreams搴撲腑錛屾湁鍏磋叮鐨勬湅鍙嬪彲 浠ユ繁鍏ョ殑鐮旂┒銆?br />錛堝畬錛?/p>Related Posts: </div></div><img src ="http://m.shnenglu.com/Error/aggbug/195378.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Error/" target="_blank">Enic</a> 2012-11-19 19:31 <a href="http://m.shnenglu.com/Error/articles/195378.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>fstream鍜寁ector鐨勫寲瀛﹀弽鏄? std::istreambuf_iterator boost::interprocess::bufferstreamhttp://m.shnenglu.com/Error/articles/194829.htmlEnicEnicWed, 07 Nov 2012 03:04:00 GMThttp://m.shnenglu.com/Error/articles/194829.htmlhttp://m.shnenglu.com/Error/comments/194829.htmlhttp://m.shnenglu.com/Error/articles/194829.html#Feedback0http://m.shnenglu.com/Error/comments/commentRss/194829.htmlhttp://m.shnenglu.com/Error/services/trackbacks/194829.html
      std::ifstream ifs("d:\\test.jpg", std::ios::in | std::ios::binary);
      std::vector<char> data((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>());

娉ㄦ剰錛氳繖閲屼嬌鐢ㄧ殑鏄痵tream buffer鐨勮凱浠e櫒錛岃屼笉鏄痵tream榪唬鍣ㄣ傚洜涓鴻繖閲岀殑浠inary鎶婃暟鎹繚瀛樺埌buffer錛岃嫢鐢╯tream錛屽垯浠ユ枃鏈牸寮忋?br />
2. 鎶奲uffer瀛樺叆stream
stl鎻愪緵鐨剆tream鏈塮stream緋誨垪鍜宻tringstream緋誨垪銆俿tringstream涔熷彲浠ュ瓨鏀綽inary鏍煎紡銆傝繖閲岀敤boost鎻愪緵鐨刡ufferstream錛岃浠g爜鐪嬭搗鏉ユ洿綆浠嬨?br />
      boost::interprocess::bufferstream input_stream(&data[0], data.size());
      output(input_stream, "test.jpg");


Enic 2012-11-07 11:04 鍙戣〃璇勮
]]>
std::fstream 鍙ユ焺娉勬紡闄烽槺http://m.shnenglu.com/Error/articles/167309.htmlEnicEnicWed, 07 Mar 2012 05:01:00 GMThttp://m.shnenglu.com/Error/articles/167309.htmlhttp://m.shnenglu.com/Error/comments/167309.htmlhttp://m.shnenglu.com/Error/articles/167309.html#Feedback0http://m.shnenglu.com/Error/comments/commentRss/167309.htmlhttp://m.shnenglu.com/Error/services/trackbacks/167309.html
錛坰earch key: std::fstream鍙ユ焺娉勬紡  std::fstream鏋愭瀯鏄惁鍏抽棴鍙ユ焺 )

钄′寒<errorcpp@qq.com> 12:49:19 
std::fstream 鏋愭瀯鐨勬椂鍊欎細(xì)鍏抽棴鏂囦歡鍙ユ焺涔堬紵
钄′寒<errorcpp@qq.com> 12:50:34 
  姹俿tl楂樻墜鎸囧錛岋紝錛?br />
鎴戣寰楁槸浼?xì)鍏抽棴鐨勫Q岋紝錛?br />鐭沖垰(172106137) 12:51:35 
ifstream?
鐭沖垰(172106137) 12:51:44 
ifstream 浼?br />钄′寒<errorcpp@qq.com> 12:52:35 
鍝︼紝榪欐垜灝辨斁蹇?jī)浜?jiǎn)
鐭沖垰(172106137) 12:54:58 
鍡紝
鐭沖垰(172106137) 12:55:02 
浣嗚娉ㄦ剰涓鐐癸紝
鐭沖垰(172106137) 12:55:15 
ifstream鍙叧闂綘鏈鍚庝竴嬈℃墦寮鐨勬枃浠躲?br />钄′寒<errorcpp@qq.com> 12:56:36 
涔熷氨鏄澶嶇敤 fstream鐨勬椂鍊欐湁鍙兘搴斾負(fù)蹇樿鍏抽棴鍙ユ焺瀵艱嚧娉勬紡錛?br />鐭沖垰(172106137) 12:56:57 
浼?br />钄′寒<errorcpp@qq.com> 12:57:04 
鍡?br />鐭沖垰(172106137) 12:57:19 
瀹冨彧鍦ㄦ瀽鏋勬椂鍏抽棴錛?br />钄′寒<errorcpp@qq.com> 12:57:41 
 
濡圭殑錛屼互鍓嶆病娉ㄦ剰錛岋紝錛?br />鐭沖垰(172106137) 12:57:40 
濡傛灉浣犵敤鍚屼竴涓璞℃搷浣滀竴涓枃浠跺悗錛屼笉璋冪敤close錛屽嵈鍐嶆墦寮鍙︿竴涓枃浠訛紝
鐭沖垰(172106137) 12:57:51 
閭d釜handle灝變細(xì)娌′漢鍏抽棴鐨勩?br />钄′寒<errorcpp@qq.com> 12:58:39 
鍒氬垰鐢ㄤ換鍔$鐞嗗櫒鐪嬩簡(jiǎn)涓嬶紝鏋愭瀯鐨勬椂鍊欑‘瀹炲叧闂簡(jiǎn)錛岋紝錛?br />
璋冭瘯鐨勬椂鍊欒窡榪涘幓鐪嬬殑澶棝鑻︿簡(jiǎn)錛宯澶氬眰錛岋紝錛?br />


********************************************************************
鍦ㄥ悗鏉ョ殑寮鍙戣繃紼嬩腑鎴戜滑鍙戠幇涓涓棶棰橈細(xì)
(search key: fopen 鏈澶氭墦寮澶氬皯鍙ユ焺  fopen鎵撳紑鏂囦歡澶辮觸  fopen鎵撳紑鍙ユ焺闄愬埗)

欏圭洰涓嚭鐜癴open鎵撳紑鏂囦歡澶辮觸鐜拌薄錛岀涓鍙嶅簲鏄枃浠跺彞鏌勬硠婕忥紝鐒跺悗鏌ョ湅浠誨姟綆$悊鍣紝榪涚▼鍙ユ焺鏈?400涓紝浠ュ線甯哥殑緇忛獙銆?400鍗充嬌鏄硠婕忎篃涓嶄細(xì)涓ラ噸鍒版棤娉曟墦寮鏂扮殑鍙ユ焺銆備簬鏄啓浠g爜嫻嬭瘯楠岃瘉鏄笉鏄痜open鐨勯棶棰?br />
浣跨敤鏍囧噯搴撶殑 fopen 鎵撳紑鐨勬枃浠跺彞鏌勬繪暟鏄彈闄愬埗鐨勶紝緇忚繃嫻嬭瘯鎴戜滑鍙戠幇榛樿鎯呭喌涓媤indows騫沖彴浣跨敤CreateFile鑷沖皯鍙互鍒涘緩3w涓互涓婄殑鏂囦歡鍙ユ焺錛岃屼嬌鐢ㄦ爣鍑嗗簱鐨刦open鏈澶氬垯鍙兘鍒涘緩512涓紝鍚庢潵鍙戠幇鏍囧噯搴撳榪欎釜紜疄鏄湁闄愬埗鐨勶紝鏈変竴涓嚱鏁板彲浠ヨ緗甪open鑳芥墦寮鐨勫彞鏌勪釜鏁?br />
    // c鏍囧噯搴撳fopen鐨勬枃浠朵釜鏁版湁闄愬埗榛樿鏄?12
    ::_setmaxstdio(2048);
linux騫沖彴涔熸湁鐩稿簲鐨勯檺鍒?br />********************************************************************
鍚庢潵鍦ㄧ綉緇滀笂鏌ュ埌鐨勶紝娌℃湁緇忚繃瀹為檯嫻嬭瘯錛屼粎浣滃弬鑰冿細(xì)
(search key: fstream鏈澶氭墦寮澶氬皯鍙ユ焺 )
鎴戝仛榪囧疄楠岋紝fopen鏈夐檺鍒訛紝鍙兘鍚屾椂鎵撳紑46錛岃繕鏄?7涓乏鍙?br />ofstream
fstream
CreatFile榪欎笁縐嶆柟娉曟病鏈夐檺鍒訛紝鍙互鍚屾椂鎵撳紑寰堝鏂囦歡錛堟垜嫻嬭瘯鐨勬槸鎵撳紑10w涓紝鍐嶅錛屾垜娌″疄楠屼簡(jiǎn)錛?/div>*********************************************************************


Enic 2012-03-07 13:01 鍙戣〃璇勮
]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              亚洲一区在线免费观看| 国产精品www994| 亚洲精品国偷自产在线99热| 美女日韩在线中文字幕| 久久久美女艺术照精彩视频福利播放 | 亚洲免费视频中文字幕| 午夜精品国产| 久久九九99视频| 亚洲激情一区二区三区| 99这里只有精品| 欧美一区二区三区免费看| 久久人人爽人人| 欧美精品在线观看一区二区| 欧美性做爰毛片| 韩国美女久久| 亚洲少妇在线| 久久网站热最新地址| 性色av一区二区三区| 久久久午夜电影| 模特精品在线| 亚洲人成在线观看一区二区| 中国女人久久久| 久久久久久国产精品mv| 欧美日韩久久久久久| 韩国女主播一区| 一本色道久久99精品综合 | 久久蜜桃精品| 亚洲精品在线三区| 欧美在线免费| 国产精品二区在线观看| 亚洲高清激情| 欧美一区二区三区啪啪| 亚洲高清中文字幕| 欧美一级网站| 欧美日韩性生活视频| 黄页网站一区| 欧美在线观看视频一区二区| 亚洲精品国产精品乱码不99按摩 | 最新日韩av| 久久国产精品久久久| 欧美三日本三级少妇三2023 | 欧美一区二区三区在线免费观看| 欧美激情免费观看| 久久精品视频va| 国产日韩欧美制服另类| 亚洲免费中文字幕| 亚洲精品人人| 欧美乱大交xxxxx| 亚洲国产女人aaa毛片在线| 久久九九国产精品| 欧美一区二区三区在线观看| 国产乱码精品一区二区三区忘忧草| 夜夜嗨一区二区| 最新日韩中文字幕| 欧美福利电影网| 亚洲毛片在线观看| 亚洲国产精品视频| 久久久久久欧美| 国内精品久久久久影院 日本资源| 亚洲一区三区电影在线观看| 亚洲国产精品成人综合| 美女国产一区| 亚洲精品视频免费| 亚洲黄色一区二区三区| 欧美精品电影| 亚洲午夜一区二区三区| 亚洲深夜av| 国产日韩在线亚洲字幕中文| 久久激情五月激情| 久久嫩草精品久久久精品| 影音欧美亚洲| 亚洲电影第三页| 欧美日韩国产成人在线91| 欧美自拍偷拍午夜视频| 欧美精品一区二区三| 一区二区久久| 亚洲永久免费| 韩国精品主播一区二区在线观看| 美日韩精品视频| 欧美啪啪一区| 久久av一区| 免费一级欧美片在线播放| 日韩视频第一页| 亚洲女人小视频在线观看| 狠狠久久综合婷婷不卡| 亚洲欧洲精品一区二区三区 | 狠狠色噜噜狠狠色综合久| 欧美黑人在线播放| 国产精品99一区| 美国十次了思思久久精品导航| 麻豆av福利av久久av| 亚洲欧美高清| 免费亚洲电影| 久久精品国产亚洲aⅴ| 欧美va亚洲va日韩∨a综合色| 亚洲一区二区三区免费视频| 久久狠狠婷婷| 亚洲欧美另类在线| 欧美高清视频www夜色资源网| 午夜天堂精品久久久久| 美女999久久久精品视频| 欧美一区二区三区在线| 欧美日韩高清在线| 你懂的成人av| 国产视频久久网| 一区二区三区蜜桃网| 最近中文字幕日韩精品| 欧美在线啊v| 亚洲综合电影| 欧美成人国产| 久久精品视频免费| 国产精品毛片在线看| 亚洲国产成人在线播放| 国产一区再线| 午夜在线a亚洲v天堂网2018| 一区二区三区欧美成人| 麻豆成人综合网| 久久人人爽人人爽爽久久| 国产精品国内视频| 亚洲剧情一区二区| 亚洲国产精品成人va在线观看| 先锋影音网一区二区| 亚洲伊人色欲综合网| 欧美日韩成人激情| 亚洲黄色免费网站| 亚洲激情成人| 免费久久99精品国产自| 能在线观看的日韩av| 尤物视频一区二区| 久久久久欧美精品| 久久精品二区| 国产欧美一区二区精品婷婷| 在线一区免费观看| 亚洲自拍偷拍视频| 国产精品美女久久久久久久 | 午夜精品久久久久久久| 亚洲免费观看在线视频| 卡一卡二国产精品| 久久久久久亚洲精品杨幂换脸 | 美国成人直播| 精品91视频| 久久色在线播放| 久久综合精品国产一区二区三区| 国产日韩精品一区二区三区在线| 亚洲午夜av| 久久国产一区二区| 一区免费观看视频| 久久深夜福利| 亚洲高清在线| 亚洲视频中文| 国产日产精品一区二区三区四区的观看方式 | 欧美日韩一区二区三区在线看| 亚洲蜜桃精久久久久久久| 亚洲欧美国产视频| 国产揄拍国内精品对白| 欧美高清视频免费观看| 99精品欧美一区二区三区| 亚洲欧美日韩久久精品| 国产一区二区三区电影在线观看| 欧美资源在线观看| 亚洲第一区在线观看| 亚洲午夜精品久久久久久app| 国产精品羞羞答答xxdd| 久久午夜av| 亚洲色图综合久久| 欧美高清视频| 欧美亚洲综合另类| 亚洲欧洲在线看| 国产情侣一区| 欧美伦理91i| 久久精品国产99国产精品澳门| 亚洲激情午夜| 久久婷婷影院| 亚洲一区二区三区影院| 影音先锋久久精品| 国产精品毛片a∨一区二区三区|国| 久久久国产亚洲精品| 在线一区二区三区做爰视频网站| 麻豆国产精品一区二区三区| 亚洲午夜在线观看视频在线| 影音先锋久久资源网| 国产精品影片在线观看| 欧美日韩国产成人| 麻豆成人在线播放| 午夜精品久久久久影视| 99国产精品99久久久久久| 免费久久99精品国产自在现线| 午夜精品久久久久久久| 一区二区欧美精品| 亚洲精品美女在线观看播放| 国产一区视频在线观看免费| 国产精品九九| 欧美日韩一区二区在线观看| 久久影院午夜论| 欧美一区视频在线| 亚洲午夜激情网页| 99精品视频免费| 国产欧美日韩一级| 欧美成人一区在线| 午夜在线电影亚洲一区|