掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流
在C++編程語言中,對于中文字符的處理方式有很多種,開發(fā)人員可以根據自己不同的需求來選擇一種適合自己的方式。比如今天為大家介紹的C++輸入輸出漢字的實現方法,就是其中一個比較簡單的方式。

創(chuàng)新互聯建站專注為客戶提供全方位的互聯網綜合服務,包含不限于網站建設、做網站、阿克陶網絡推廣、小程序開發(fā)、阿克陶網絡營銷、阿克陶企業(yè)策劃、阿克陶品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯建站為所有大學生創(chuàng)業(yè)者提供阿克陶建站搭建服務,24小時服務熱線:18980820575,官方網址:www.cdcxhl.com
C++里面用L宏的時候只是說是寬字符,但是并不一定是Unicode,也就是說具體使用什么字符集要程序員自己去設定,這就是imbue的作用,那你文件里不能輸入漢字也是這個問題,你只要象下面一樣設置下就可以了:
- in.imbue(locale("chs"));
- in>>text;
- out.imbue(locale("chs"));
- out<
這樣C++理論上可以處理任何的字符集.
完整修改的C++輸入輸出漢字代碼如下:
你是vc++6.0吧,那你只需要先設置后打開文件就可以了,這是一個已知的BUG;代碼如下:
- #define _UNICODE
- #include
- #include
- using namespace std;
- void main()
- {
- wchar_t text=L'我'; //這是調試看text沒問題,就是“我”字
- wofstream out;
- wifstream in;
- in.imbue(locale("chs"));
- in.open("input.txt");
- in>>text;
- in.close();
- out.imbue(locale("chs"));
- out.open("output.txt");
- out<
- out.close();
- wcout.imbue(locale("chs")); //如果把上面兩行去掉,下面是對的
- //需要設置imbue才能輸出中文字符,不過還是不懂imbue是干什么的?
- wcout <<"this is "<
- system("PAUSE");
- }
以上就是對C++輸入輸出漢字的相關操作介紹。
【編輯推薦】

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流