- #include <windows.h>
- #include <stdio.h>
- //function: charTowchar
- //purpose:char to WCHAR 、wchar_t、LPWSTR etc
- void charTowchar(const char *chr, wchar_t *wchar, int size)
- {
- MultiByteToWideChar( CP_ACP, 0, chr,
- strlen(chr)+1, wchar, size/sizeof(wchar[0]) );
- }
- //function: wcharTochar
- //purpose:WCHAR 、wchar_t、LPWSTR to char
- void wcharTochar(const wchar_t *wchar, char *chr, int length)
- {
- WideCharToMultiByte( CP_ACP, 0, wchar, -1,
- chr, length, NULL, NULL );
- }
- int main (void)
- {
- char chr[128];
- wchar_t *wchar = L"陈鸿钦";
- //wchar_t to char
- wcharTochar(wchar, chr, sizeof(chr));
- printf("char is %s\n", chr);
- //char to wchar_t
- wchar = (wchar_t *)malloc(sizeof(wchar_t) * 64);
- charTowchar(chr, wchar, sizeof(wchar_t) * 64);
- wprintf_s(L"%s\n", wchar);//
- getchar();
- return 0;
- }
- Requirements: Ws2_32.lib