C++ WideCharToMultiByte函数注意事项
来源:互联网 发布:长虹b2b软件下载 编辑:程序博客网 时间:2024/06/05 10:15
函数原型int WideCharToMultiByte( UINT CodePage, //指定执行转换的代码页 DWORD dwFlags, //允许你进行额外的控制,它会影响使用了读音符号(比如重音)的字符 LPCWSTR lpWideCharStr, //指定要转换为宽字节字符串的缓冲区 int cchWideChar, //指定由参数lpWideCharStr指向的缓冲区的字符个数(注意:需要转换的字符串长度,为-1时,表示取到null的字符串) LPSTR lpMultiByteStr, //指向接收被转换字符串的缓冲区 int cchMultiByte, //指定由参数lpMultiByteStr指向的缓冲区最大值 LPCSTR lpDefaultChar, //遇到一个不能转换的宽字符,函数便会使用pDefaultChar参数指向的字符 LPBOOL pfUsedDefaultChar//至少有一个字符不能转换为其多字节形式,函数就会把这个变量设为TRUE);
示例:
#include <Windows.h>#include <stdio.h>#define MAX_BUFFER_SIZE 256char * W2C(const wchar_t *wstr, int n){static char sBuffer[MAX_BUFFER_SIZE];memset(sBuffer, 0, MAX_BUFFER_SIZE);if (n > MAX_BUFFER_SIZE) n = MAX_BUFFER_SIZE;int i = WideCharToMultiByte(CP_ACP, 0, wstr, n, sBuffer, MAX_BUFFER_SIZE, NULL, NULL);return sBuffer;}void main( void ) {char *sRes;wchar_t wsName[] = L"中文测试0123456789~1-";sRes = W2C(wsName, wcslen(wsName));printf("%s, %d\n", sRes, strlen(sRes));}
- C++ WideCharToMultiByte函数注意事项
- WideCharToMultiByte和MultiByteToWideChar函数
- 关于WideCharToMultiByte()函数
- WideCharToMultiByte和MultiByteToWideChar函数
- WIDECHARTOMULTIBYTE和MULTIBYTETOWIDECHAR函数
- MultiByteToWideChar&WideCharToMultiByte 函数介绍
- WideCharToMultiByte
- WideCharToMultiByte
- WideCharToMultiByte
- WideCharToMultiByte
- WideCharToMultiByte
- WideCharToMultiByte
- WideCharToMultiByte
- WideCharToMultiByte
- WideCharToMultiByte
- WideCharToMultiByte
- WideCharToMultiByte和MultiByteToWideChar函数的用法
- WideCharToMultiByte和MultiByteToWideChar函数的用法
- ubuntu安装jdk7
- Android 内存分析工具
- sqlite3 数据库命令操作
- android仿淘宝界面
- printk,klogd,syslogd 关系
- C++ WideCharToMultiByte函数注意事项
- Android 源码编译make的错误处理
- POJ 2777 Count Color (线段树区间更新)
- 2013-BIT程序设计 12.编程珠玑 -- dp
- Ubuntu搭建Eclipse+JDK+SDK的Android
- 重装win7后启动菜单找不到ubuntu选项需要重新引导
- 32,UC(11)
- 三个水杯 NYOJ BFS
- 33,UC(12)