日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Windows 下 Char 和Wchar的转换

發布時間:2023/12/15 综合教程 39 生活家
生活随笔 收集整理的這篇文章主要介紹了 Windows 下 Char 和Wchar的转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

剛封裝了一個C的方法,碰到最多的就是char 和Wchar的轉化問題. 找了些資料:

1.頭文件中要定義宏;

  #define UNICODE #define _UNICODE
2.char轉換成wchar

const char *pFilePathName = "c:\\aa.dll ";

int nLen = strlen(pFilePathName) + 1;

int nwLen = MultiByteToWideChar(CP_ACP, 0, pFilePathName, nLen, NULL, 0);
TCHAR lpszFile[256];

MultiByteToWideChar(CP_ACP, 0, pFilePathName, nLen, lpszFile, nwLen);
3.wchar轉換成char

char *pFilePathName;

TCHAR lpszFile[256];

_tcscpy(lpszFile, _T( "c:\\aa.dll "));
int nLen = wcslen(wstr)+1;

WideCharToMultiByte(CP_ACP, 0, lpszFile, nLen, pFilePathName, 2*nLen, NULL, NULL);

一個完整的例子(網上找的阿,要Ws2_32.lib)

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.}  

  另一個宏:

#include "atlconv.h" 

void func()
 
{
 
 USES_CONVERSION; 

char *test = "i am a sucker";
 
 WCHAR *conv = A2W(strPic1) ;
 
}

  

總結

以上是生活随笔為你收集整理的Windows 下 Char 和Wchar的转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。