zoukankan      html  css  js  c++  java
  • NSString 与 wchar_t*之间转化

    +(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 = [[[NSStringalloc] initWithBytes:stTmp length:strlen(stTmp) encoding:NSUTF8StringEncoding] autorelease];

        free(stTmp);

        return ret;

    }

     

    - (std::wstring) getWCharFromString

    {

     

        const char  *cString;

        cString = [selfcStringUsingEncoding:NSUTF8StringEncoding];

        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[iLength] = 0;

            printf("begin %ls",stTmp);

        std::wstring wstr(stTmp);

        free(stTmp);

        return wstr;

    }

  • 相关阅读:
    2021年欺骗式防御技术将迎来爆发
    可以简化决策过程的10个大数据源
    “AI+”改变世界!不同领域的5大人工智能趋势
    预测2021: 区块链领域新景观
    后量子时代的密码学
    考试
    进度总结8
    进度总结7
    进度总结6
    进度总结5
  • 原文地址:https://www.cnblogs.com/yishuiliunian/p/2626406.html
Copyright © 2011-2022 走看看