/*
说明:    将 宽字节wchar_t* 转换 单字节char*
参数:    szStr是源字符串,pResult,为目标字符串,maxLen为pResult所指向的内存空间的最大长度
*/
char* UnicodeToAnsi( const wchar_t* szStr ,char *pResult ,int maxLen)
{if(NULL == pResult)return NULL;int nLen = WideCharToMultiByte( CP_ACP, 0, szStr, -1, NULL, 0, NULL, NULL );if(0 == nLen){return NULL;}if(nLen >= maxLen)nLen = maxLen;WideCharToMultiByte( CP_ACP, 0, szStr, -1, pResult, nLen, NULL, NULL );return pResult;
}
/*
说明:    将 单字节char* 转换为 宽字节 wchar*
参数:    szStr是源字符串,pResult,为目标字符串,maxLen为pResult所指向的内存空间的最大长度
*/
wchar_t* AnsiToUnicode( const char* szStr,wchar_t *pResult ,int maxLen )
{if(NULL == pResult)return NULL;int nLen = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, szStr, -1, NULL, 0 );if(0 == nLen){return NULL;}//wchar_t* pResult = new wchar_t[nLen];if(nLen >= maxLen)nLen = maxLen;nLen = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, szStr, -1, pResult, nLen );if(0 == nLen){return NULL;}return pResult;
}
 
   详细解决方案
                wchar_t* 与 char* 相互转换(自己写的函数)
热度:88   发布时间:2023-12-09 14:01:39.0
                    相关解决方案
                
                - 形参类型是 int ,按理只能接受 数值 或 char ,为什么下面传和个 String 也行?解决办法
 - JNI char*转jstring乱码有关问题
 - 怎么使用JAVA调用C++编写的Dll函数,Char *指针
 - char character的差异
 - wchar_t *”转换为“const std:string ?解决思路
 - 如何把unsigned char[]插入数据库
 - 一个关于“不能将参数 1 从“char [80]”转换为“System:Object ^”的有关问题
 - wchar_t *”变换为“const std:string
 - 托管代码数据怎么转非托管数据?array<Byte> 怎样转为 char *
 - vc++.net中的有关问题( error C2440: 'type cast' : cannot convert from 'CString' to 'const char *')
 - 请问,报不能将“const char [7]”转换为“LPCTSTR”
 - main(int, char* argv[]) 跟 main(int, wchar* argv[])
 - 如何才能把char * 类型的数据转换成unsigned char _gc[]
 - La conversión del tipo de datos char a smalldatetime generó un valor smalldateti,该如何解决
 - The conversion of a char data type to a datetime data type resulted in an out-of-range datetime解决方案
 - 与“string.Split(params char[])”最匹配的重载方法具有一些无效参数,该怎么解决
 - char[] aaa = ""ToCharArray;为什么报错?想用""来分割一个字符串如何做
 - char *转换为TDes, TDesC啊解决方法
 - 假如在文件aaa.c中定义了 extern char sender[]={0xAA,0xBB,0xCC};而在文件bbb.c要引用sender[]。貌似在bbb解决办法
 - 假若在文件aaa.c中定义了 extern char sender[]={0xAA,0xBB,0xCC};而在文件bbb.c要引用sender[]。貌似在bbb
 - C++中的char*b=new char[10];在反汇编里的代码如上,麻烦大神来帮忙解释上反汇编代码中的意思
 - char* instIdList[] = {"rb1305""m1309"}; 如何判断里面有几个字符串
 - char 型和int详解?
 - [求助]char a []="CHINA"
 - 谁能教下FAR CHAR * 和CHAR * 有什么区别??
 - [讨论]char* a = "abc" 和 char a[] = "abc" 之间的区别 ...
 - 关于int main(int argc, char *argv[])的问题
 - [求助]int 和 char 的问题
 - main(int argc,char *argv[]) 本身的参数在哪里
 - jstring, char* 转换函数