VC++ 多字节宽字符相互转换
来源:互联网 发布:苹果官网有mac电池卖吗 编辑:程序博客网 时间:2024/05/17 22:39
多字节宽字符相互转换用的较多,自己写了一点留作以后参考。
string str;
cout<<"please input chinese"<<endl;
cin>>str;
//setlocale(LC_CTYPE,".chs");
const char* cstr1 = str.c_str();
//int len = 2*sizeof(cstr);
int WLen = MultiByteToWideChar(CP_ACP, // code page
0, // character-type options
cstr1, // string to map
-1, // number of bytes in string
NULL, // wide-character buffer
0 // size of buffer
);
wchar_t * buffer = new wchar_t[WLen+1];
int RetWLen = MultiByteToWideChar(CP_ACP, // code page
0, // character-type options
cstr1, // string to map
-1, // number of bytes in string
buffer, // wide-character buffer
WLen // size of buffer
);
buffer[WLen] = '/0';
printf("/nthe translated num is %d",RetWLen);
-----------------------------------------------------
------------------------------------------------------
---------------------------------------------------------
--------------------------------------------------------
同理 宽字符到多字节
int MLen = WideCharToMultiByte(
CP_ACP, // code page
0, // performance and mapping flags
buffer, // wide-character string
-1, // number of chars in string
NULL, // buffer for new string
0, // size of buffer
NULL, // default for unmappable chars
NULL // set when default char used
); //这里第六个参数若为0 表示 返回 宽字符对应多字节的长度
char* MultiBte = new char[MLen+1];
int RetMLen = WideCharToMultiByte(
CP_ACP, // code page
0, // performance and mapping flags
buffer, // wide-character string
-1, // number of chars in string
MultiBte, // buffer for new string
MLen, // size of buffer
NULL, // default for unmappable chars
NULL // set when default char used
); //完成转换
printf("/nthe translated MultiByte num is :%d",RetMLen);
printf("/nthe Multibyte value:");
MultiBte[MLen]='/x0';
fputs(MultiBte,stdout); //可直接在终端输出
头文件 windows.h
- VC++ 多字节宽字符相互转换
- 多字节与宽字符相互转换
- C++多字节字符与宽字节字符相互转换
- VC 宽字节和多字节的相互转换
- VC 宽字节和多字节的相互转换
- unicode字符和多字节字符的相互转换接口
- VC下多字节与宽字节之间的相互转换
- c++宽字符和多字节字符相互转化类
- 多字节字符转换成宽字符串
- 多字节与宽字节相互转换的方法
- 多字节与宽字节相互转换的方法
- mfc宽字节widechar与多字节multiChar相互转换
- mfc宽字节widechar与多字节multiChar相互转换
- 多字节与宽字节字符串的相互转换
- Visual Studio中宽字节和多字节相互转换
- 多字节与宽字节字符串 的相互转换
- wctomb宽字符到多字节字符节的转换
- 宽字符到多字节字符转换函数
- 几种shell里的小括号,大括号结构和有括号的变量,命令的用法
- PHP新的连接MySQL方法mysqli
- Linker Error: _funcName defined in module XXX.c is duplicated in module XXX.c
- VC6.0配色方案
- DLL(Dynamic Link Libraries)
- VC++ 多字节宽字符相互转换
- 一个异常:java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/se
- 星际译王(StarDic)音标乱码问题的解决
- Jquery1.3源码解读(一):总体结构
- Log4j配置使用说明
- linux kernel source code
- SQLSERVER数据库还原实战
- 命令打開默認共享
- 。。