在C++编程语言中,对于中文字符的处理方式有很多种,开发人员可以根据自己不同的需求来选择一种适合自己的方式。比如今天为大家介绍的C++输入输出汉字的实现方法,就是其中一个比较简单的方式。
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站建设、做网站、阿克陶网络推广、小程序开发、阿克陶网络营销、阿克陶企业策划、阿克陶品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供阿克陶建站搭建服务,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++输入输出汉字的相关操作介绍。
【编辑推荐】
网站栏目:C++输入输出汉字具体应用技巧分享
标题链接:http://www.shufengxianlan.com/qtweb/news25/257925.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联