请问,怎么把宽字符转化为多字节字符? 80

注意,是字符而不是字符串,API都是转字符串的,难道就没有转单个字符的??即wchar_t转成char,如wchar_t[0]转为char[0]... 注意,是字符而不是字符串,API都是转字符串的,难道就没有转单个字符的??
即wchar_t转成char,如wchar_t[0]转为char[0]
展开
 我来答
吉祥二进制
高粉答主

2015-01-12 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84580

向TA提问 私信TA
展开全部

SDK中有一个API函数 WideCharToMultiByte 可以实现的。函数声明如下:

int WideCharToMultiByte(  
UINT CodePage,            // code page  
DWORD dwFlags,            // performance and mapping flags 
 LPCWSTR lpWideCharStr,    // wide-character string 
  int cchWideChar,          // number of chars in string  
 LPSTR lpMultiByteStr,     // buffer for new string  
 int cbMultiByte,          // size of buffer 
 LPCSTR 
lpDefaultChar,         // default for unmappable chars 
 LPBOOL lpUsedDefaultChar  // set when default char used
);


这方面的问题,你还可以参考  windows 核心 编程 第二章 中关于Unicode编码和ANSI编码的内容。

追问
这个API本来就是用来转换字符串的而不是单个字符
追答
单个字符直接强制转换 我指的ascii码 汉子你是没法转的 而且转了也没意义 除非就是做很技巧性的东西 还有如汉字这种两字节的转还要考虑 存储顺序 问题 不知道你要做什么 因为字符串主要的作用是输出 和用户交互
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式