C++ LPCTSTR 转 std::string报错

代码如下

// CXClientWebSocketCtrl 消息处理程序


VARIANT_BOOL CXClientWebSocketCtrl::Send(LPCTSTR code, LPCTSTR content)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());

    // TODO: 在此添加调度处理程序代码
    std::string _content = content ;
    std::string _code = code ;

    return VARIANT_TRUE;
}

(红字为报错部分)

错误 1   
error C2440: “初始化”: 无法从“LPCTSTR”转换为“std::basic_string<_Elem,_Traits,_Ax>”
e:workroomsworkroom01xclientxclientwebsocketxclientwebsocketxclientwebsocketctrl.cpp 206 1 XClientWebSocket

 

解决方案 :

方案一 : 

我这里参数等都是英文考虑的较少 , 直接改成"使用多字节字符集"

右击项目 -> 属性   弹出如下 :

C++ LPCTSTR 转 std::string报错

 

将字符集改为"使用多字节字符集" , 点击应用

然后代码就不报错了

方案二 : 

如果仍旧想使用"Unicode"字符集 , 修改代码如下

// CXClientWebSocketCtrl 消息处理程序


VARIANT_BOOL CXClientWebSocketCtrl::Send(LPCTSTR code, LPCTSTR content)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());

    // TODO: 在此添加调度处理程序代码
    std::string _content = LPSTR(content) ;
    std::string _code = LPSTR(code) ;

    return VARIANT_TRUE;
}

修改为红字部分 , 然后代码也不报错了

参考 : 

https://www.cnblogs.com/gaohongchen01/p/4006700.html

https://zhidao.baidu.com/question/204573838018157285.html

 

原文链接: https://www.cnblogs.com/hi-gdl/p/12343031.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++ LPCTSTR 转 std::string报错

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/331562

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午6:06
下一篇 2023年3月1日 下午6:06

相关推荐