wchar_t 和 char 规格严格
- #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;
- }
原文地址:https://www.cnblogs.com/diyunpeng/p/1997411.html