char和wchar_t之间的转换

来源:互联网 发布:linux重启redmine服务 编辑:程序博客网 时间:2024/05/23 16:01
1.   先设置当地的编码环境 

#include   <locale.h> 

setlocale(LC_ALL,   " "); 

2.   char到wchar_t的转换 

char   s[]   =   "汉字 "; 
wchar_t   ws[10]; 

int   i; 
char   *p   =   s; 

for(i   =   0;   *p;   ++i) 

int   len   =   mbtowc(&ws[i],   p,   MB_CUR_MAX); 
p   +=   len; 

ws[i]   =   L '\0 '; 

3.   wchar_t到char的转换 

wchar_t   ws[]   =   L "中a国 "; 
char   s[12],   *p; 

p   =   s; 

int   i; 
for(i   =   0;   ws[i];   ++i) 

int   len   =   wctomb(p,   ws[i]); 
p   +=   len; 

*p   =   '\0 '; 

全部搞定! 
原创粉丝点击