c语言char和wchar_t 转换
来源:互联网 发布:女生 老司机 知乎 编辑:程序博客网 时间:2024/06/10 23:29
最近遇到一个在C语言当中处理中文的问题,因为汉字和ascii不同,汉字是多字节编码方式,ascii只用一个字节表示,所以在用c语言提供的strlen函数得到的长度是字节长度; 以下都是utf-8编码方式,为了得到一个字符(汉字和ascii)有几种处理方式:
1. 自己写程序判断是否为汉字,通过第一个字节判断,以下是我写的一部分代码;
2. 用内置的wchar_t类型,
1). wchar_t ws[]=L"北京bus";
这样用wcslen(ws)结果就为 5,
这是必须设置 本地编码方式 setlocale(LC_ALL,"zh_CN.UTF-8");
2).读一个文件后得到的数据,要使数据为wchar_t ,就需要进行字符串转换了.用到函数 mbstowcs,以下是我写的一个读文本文 件然后转换的程序
如果 wchar_t 转换为char 类型,可以用函数 wcstombs
- c语言char和wchar_t 转换
- char和wchar_t的转换
- char和wchar_t互相转换
- wchar_t*和char*的转换
- wchar_t和char之间的转换
- char和wchar_t的相互转换
- 简单的wchar_t 和 char 转换类
- char和wchar_t之间的转换
- wchar_t*和 char*之间的转换
- wchar_t*和char*之间的互相转换
- wchar_t与char转换
- wchar_t与char转换
- wchar_t与char转换
- wchar_t与char转换
- wchar_t与char转换
- wchar_t与char转换
- char*转换为wchar_t*
- wchar_t与char转换
- Message Map
- struts2命名空间的用法
- Embed test
- 折半查找
- 2010-5-20 力量训练
- c语言char和wchar_t 转换
- 操作系统学习笔记(2)--内核系统设置
- 【转】2008-03-27 | 关于Vs 2005 中出现编译通过,但运行时出现“未使用调试信息生成二进制文件”的问题(很好很强大)
- INT64拆分成DWROD
- 出现太多的问题,需要反思。
- learn objective-c on the mac
- 字符,字节和编码
- Go语言学习札记—— 第二章 Go编程环境(1)
- firefox 打开新标签 但不跳转到新标签