[VC]char 和 wchar_t相互转化

  1. #include <windows.h>   
  2. #include <stdio.h>   
  3.   
  4. //function: charTowchar   
  5. //purpose:char to WCHAR 、wchar_t、LPWSTR etc   
  6. void charTowchar(const char *chr, wchar_t *wchar, int size)   
  7. {      
  8.      MultiByteToWideChar( CP_ACP, 0, chr,   
  9.          strlen(chr)+1, wchar, size/sizeof(wchar[0]) );   
  10. }   
  11.   
  12. //function: wcharTochar   
  13. //purpose:WCHAR 、wchar_t、LPWSTR to char   
  14. void wcharTochar(const wchar_t *wchar, char *chr, int length)   
  15. {   
  16.      WideCharToMultiByte( CP_ACP, 0, wchar, -1,   
  17.          chr, length, NULL, NULL );   
  18. }   
  19.   
  20. int main (void)   
  21. {   
  22.     char      chr[128];   
  23.     wchar_t   *wchar = L"陈鸿钦";   
  24.        
  25.   
  26.     //wchar_t to char   
  27.      wcharTochar(wchar, chr, sizeof(chr));   
  28.      printf("char is %s\n", chr);   
  29.   
  30.     //char to wchar_t   
  31.      wchar = (wchar_t *)malloc(sizeof(wchar_t) * 64);   
  32.      charTowchar(chr, wchar, sizeof(wchar_t) * 64);   
  33.        
  34.      wprintf_s(L"%s\n", wchar);//   
  35.      getchar();   
  36.   
  37.     return 0;   
  38. }  
  39. Requirements: Ws2_32.lib

转载于:https://www.cnblogs.com/gredswsh/p/char_wchar_t.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值