宽字符和窄字符之间的转换

来源:互联网 发布:淘宝丝袜买家真人秀图 编辑:程序博客网 时间:2024/05/17 01:07

经常会用到,保存在这里以便直接拿去用~

// 窄字符串转化为宽字符串,结果数据保存到第二个参数中,因此要在调用函数之前申请好空间//BOOL WINAPI Ansi2Unicode(__in PCHAR pAnsi, __out PWCHAR pUnicode, __in DWORD dwStrLen){DWORD dwNum = 0;BOOL bRet = FALSE;do{// 检查参数if (pAnsi == NULL || pUnicode == NULL || lstrlenA(pAnsi) == 0){printf("参数错误...\n");break;}dwNum = MultiByteToWideChar(CP_ACP,0,pAnsi,-1,NULL,0);if (MultiByteToWideChar(CP_ACP,0, pAnsi, -1, pUnicode, dwNum)){bRet = TRUE;}else{printf("MultiByteToWideChar执行失败...错误码:%d\n", GetLastError());break;}}while (FALSE);return bRet;}

// 宽字符串转化为窄字符串,结果数据保存到第二个参数中,因此要在调用函数之前申请好空间//BOOL WINAPI Unicode2Ansi(__in PWCHAR pUnicode,__out PCHAR pAnsi, __in DWORD dwStrLen){DWORD dwNum = 0;BOOL bRet = FALSE;do{// 检查参数if (pAnsi == NULL || pUnicode == NULL || lstrlenW(pUnicode) == 0){printf("参数错误...\n");break;}dwNum = WideCharToMultiByte( CP_ACP , 0 , pUnicode , dwStrLen , NULL , 0 , NULL , NULL ) ;if (WideCharToMultiByte(CP_ACP,0,pUnicode,dwStrLen,pAnsi,dwNum,NULL,NULL)){bRet = TRUE;}else{printf("WideCharToMultiByte执行失败...错误码:%d\n", GetLastError());break;}}while (FALSE);return bRet;}


0 0
原创粉丝点击