char tempstr[20];
TCHAR IP[20];
memset(tempstr,0,sizeof tempstr);
strcpy(tempstr,"ac我的d");
MByteToWChar( tempstr,IP, sizeof(IP)/sizeof(TCHAR));
strcpy(tempstr,"192.168.1.200");
MByteToWChar( tempstr,IP, sizeof(IP)/sizeof(TCHAR)); //执行崩溃的代码
从配置文件中取过来的字符串如果中间含有中文的,执行没有问题,但只有assic的时候,居然崩溃了,搞了一天没有解决,哪位大哥看一下
函数:
BOOL MByteToWChar(LPCSTR cStr, LPWSTR wStr, DWORD dwSize)
{
// Get the required size of the buffer that receives the Unicode
// string.
DWORD dwMinSize;
dwMinSize = MultiByteToWideChar (CP_ACP, 0, cStr, -1, NULL, 0);
printf("----%d----------\n",dwMinSize);
if(dwSize < dwMinSize) return FALSE;
printf("----%d-%s---------\n",dwMinSize,cStr);
// Convert headers from ASCII to Unicode.
MultiByteToWideChar (CP_ACP, 0, cStr, -1, wStr,dwMinSize);
printf("--------------4\n");
return TRUE;
}
------解决方案--------------------
LZ,我试了你给的代码,没有出错。我测试的代码如下:
{
char tempstr[20];
TCHAR IP[20];
memset(tempstr,0,sizeof tempstr);
strcpy(tempstr,"ac我的d");
MByteToWChar( tempstr,IP, sizeof(IP)/sizeof(TCHAR));
strcpy(tempstr,"192.168.1.200");
MByteToWChar( tempstr,IP, sizeof(IP)/sizeof(TCHAR)); //执行崩溃的代码
strcpy(tempstr,"assic");
MByteToWChar( tempstr,IP, sizeof(IP)/sizeof(TCHAR));
}
转换结果都正确的。
如果LZ的不正确,可能与系统相关。请参考下面的帖子:
http://topic.csdn.net/u/20080506/08/45c8a835-85f2-4427-a25f-e745197ee9e1.html?seed=824633417
------解决方案--------------------
- C/C++ code
char tempstr[20];TCHAR IP[20]; memset(tempstr,0,sizeof tempstr); strcpy(tempstr,"ac我的d"); MByteToWChar( tempstr,IP, sizeof(IP)/sizeof(TCHAR));strcpy(tempstr,"192.168.1.200");MByteToWChar( tempstr,IP, sizeof(IP)/sizeof(TCHAR)); //执行崩溃的代码
------解决方案--------------------
我的测试机器是CE5中文版本,ARM CPU。
------解决方案--------------------
------解决方案--------------------
应该是有关系的,把英文相关的locale都加到系统中吧
------解决方案--------------------
------解决方案--------------------
回帖之后挣分下载东西
------解决方案--------------------
ar tempstr[20];
TCHAR IP[20];
memset(tempstr,0,sizeof tempstr);
strcpy(tempstr,"ac我的d");
MByteToWChar( tempstr,IP, sizeof(IP)/sizeof(TCHAR));
strcpy(tempstr,"192.168.1.200");
MByteToWChar( tempstr,IP, s
------解决方案--------------------
请对您的言行负责,并遵守中华人民共和国有关法律法规,尊重网上道德。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作
------解决方案--------------------
学习。
------解决方案--------------------
这个函数是没问题的,
------解决方案--------------------