第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C++以utf8編碼輸入中文

C++以utf8編碼輸入中文

C++
湖上湖 2018-07-09 07:23:04
用C++的ofstream往utf8編碼的文件中寫入中文(以utf8編碼),當寫入英文時文件還是utf8編碼,當輸入中文后文件就不是utf8編碼了,請問如何以utf8編碼向文件中輸入中文。
查看完整描述

2 回答

?
阿晨1998

TA貢獻2037條經(jīng)驗 獲得超6個贊

locale 對象是不可變的,即在它們的生命周期中,它們的內容不可改變。所包含的 facet 不能進行修改或替換,同時 facet 不能增加或刪除。
鑒于以上特性,在使用 locale 時一般都是根據(jù)需要生成新的 locale 對象,然后選入IO流中。因此 locale 的構造函數(shù)就變得十分多樣,方便我們以各種形式構造所需要的locale 對象。
例如,需要 std::wostream 輸出中文,我們就需要 locale("chs") 中編碼轉換相關的功能,但若直接選擇 locale("chs"),輸出數(shù)字時也會進行轉換處理,例如將 1234 輸出為 "1,234"。為了避免這一轉換,就需要保留原 locale("C") 中除了字符相關的其他facet。如下處理即可
locale loc("chs", locale::ctype);
此函數(shù)以 global 對應的 locale (一般是 locale("C") ) 初始化 loc 并選擇 locale("chs") 的字符相關 facet ,這樣我們就可以用 loc 正確輸出中文,并保持輸出數(shù)字時不進行其他處理
其他可參閱 MSDN 中關于 locale 的構造函數(shù)說明,解釋很詳細,用法很簡單。
此外,locale 對象還可使用 combine 成員函數(shù) 選取其他 locale 中指定 facet 進行組合??傊涌诙鄻?,不過也一定程度上增加了對 locale 學習的復雜性。

查看完整回答
反對 回復 2018-07-27
  • 2 回答
  • 0 關注
  • 1599 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號