`
futrueboy
  • 浏览: 83490 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

char 和 wchar_t相互转化

阅读更多
#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
  • 描述: 可以看到在调试的时候wchar是正确的 但是输出有点问题
  • 大小: 7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics