NSString 与 wchar_t*之间转化
<div class="postcontent"><div id="cnblogs_post_body">+(NSString*)getStringFromWChar:(const wchar_t*) inStr{
setlocale(LC_CTYPE, "UTF-8");
int strLength = wcslen(inStr);
int bufferSize = (strLength+1)*4;
char *stTmp = (char*)malloc(bufferSize);
memset(stTmp, 0, bufferSize);
wcstombs(stTmp, inStr, strLength);
NSString* ret = [[ initWithBytes:stTmp length:strlen(stTmp) encoding:NSUTF8StringEncoding] autorelease];
free(stTmp);
return ret;
}
- (std::wstring) getWCharFromString
{
const char*cString;
cString = ;
setlocale(LC_CTYPE, "UTF-8");
int iLength = mbstowcs(NULL, cString, 0);
int bufferSize = (iLength+1)*sizeof(wchar_t);
wchar_t *stTmp = (wchar_t*)malloc(bufferSize);
memset(stTmp, 0, bufferSize);
mbstowcs(stTmp, cString, iLength);
stTmp = 0;
printf("begin %ls",stTmp);
std::wstring wstr(stTmp);
free(stTmp);
return wstr;
}
页:
[1]