1 CDuiString转换std::string

在visual studio中如果设置的是使用多字节字符集,那么就可以使用CDuiString类的GetData方法进行直接转换,如果设置的是使用Unicode字符集,那么需要将宽字节转换成多字节字符集。

从CDuiString转换为std::string可参考以下代码:

std::string CDuiStringToString(const CDuiString& duistring) {
    LPCTSTR str = duistring.GetData();
#ifdef _UNICODE
    int size_str = WideCharToMultiByte(CP_UTF8, 0, str, -1, 0, 0, NULL, NULL);

    char* point_new_array = new char[size_str];

    WideCharToMultiByte(CP_UTF8, 0, str, -1, point_new_array, size_str, NULL, NULL);

    std::string return_string(point_new_array);
    delete[] point_new_array;
    point_new_array = NULL;
    return return_string;
#else
    return std::string(str);
#endif
}

如果您觉得对您有帮助,可以请站长喝一杯咖啡哦!

支付宝或者微信扫描二维码

对站长进行赞助

支付宝扫一扫

微信扫一扫

金额随意,礼清义重

当前分类随机文章推荐

全站随机文章推荐

关于本站站长 StubbornHuang
Duilib – CDuiString转换为std::string-StubbornHuang Blog纵使晴明无雨色,入云深处亦沾衣。