C++输入输出汉字具体应用技巧分享

开发 后端
我们今天将会通过一段代码的解读为大家详细介绍C++输入输出汉字的方法。希望能够帮助朋友们在学习的过程中对此有一个充分的掌握。

C++编程语言中,对于中文字符的处理方式有很多种,开发人员可以根据自己不同的需求来选择一种适合自己的方式。比如今天为大家介绍的C++输入输出汉字的实现方法,就是其中一个比较简单的方式。

C++里面用L宏的时候只是说是宽字符,但是并不一定是Unicode,也就是说具体使用什么字符集要程序员自己去设定,这就是imbue的作用,那你文件里不能输入汉字也是这个问题,你只要象下面一样设置下就可以了:

  1. in.imbue(locale("chs"));   
  2. in>>text;   
  3. out.imbue(locale("chs"));   
  4. out<<text;  

这样C++理论上可以处理任何的字符集.

完整修改的C++输入输出汉字代码如下:

你是vc++6.0吧,那你只需要先设置后打开文件就可以了,这是一个已知的BUG;代码如下:

  1. #define _UNICODE   
  2. #include <iostream>   
  3. #include <fstream>   
  4. using namespace std;   
  5. void main()   
  6. {   
  7. wchar_t text=L'我'; //这是调试看text没问题,就是“我”字   
  8. wofstream out;   
  9. wifstream in;   
  10. in.imbue(locale("chs"));   
  11. in.open("input.txt");   
  12. in>>text;   
  13. in.close();   
  14. out.imbue(locale("chs"));   
  15. out.open("output.txt");   
  16. out<<text;   
  17. out.close();   
  18. wcout.imbue(locale("chs")); //如果把上面两行去掉,下面是对的   
  19. //需要设置imbue才能输出中文字符,不过还是不懂imbue是干什么的?   
  20. wcout <<"this is "<<text << endl;   
  21. system("PAUSE");   

以上就是对C++输入输出汉字的相关操作介绍。

【编辑推荐】

  1. C++ static不同的应用方式
  2. 各个C++内存区域功能对比
  3. C++可变参数表基本内容探讨
  4. C++仿函数基本概念浅析
  5. C++栈对象产生禁用方式
责任编辑:曹凯 来源: 博客园
相关推荐

2010-02-06 14:28:38

C++标准输入输出

2010-02-01 11:13:00

C++ Traits

2010-02-06 13:47:08

C++标准扩展

2010-02-04 14:58:06

C++内存分配

2010-02-06 17:21:20

C++ CreateT

2010-02-01 17:09:07

C++链表操作

2010-02-05 13:44:06

C++ eof()函数

2020-09-04 11:02:47

Java技巧参数

2010-02-06 16:16:01

C++冒泡排序

2010-02-05 18:04:21

C++剪切板

2010-02-01 17:37:35

C++调用C链接库

2011-07-13 16:36:11

C++

2010-02-25 15:25:19

WCF通道

2010-02-05 17:25:26

C++标识符命名规则

2010-02-23 13:03:34

WCF序列化

2010-03-04 14:39:52

Python读取输入值

2021-05-07 20:01:23

IO输入输出

2011-11-28 09:25:36

Java输入输出

2010-02-06 13:52:39

C++ profile

2010-02-24 17:07:26

WCF序列化引擎
点赞
收藏

51CTO技术栈公众号