如何将接收到的字符串存入向量中

图片说明

CDuiString strMsg = p_NewMsg->GetText();
如何将strMsg字符串存入到v_vecAllMsg向量中去;

2个回答

调用CDuiString的这个方法:LPCTSTR GetData() const; 即可转成CString

sprintf_s(strBuf, _T("%s"), strMsg.GetData());
weixin_42163711
神农藏百草 回复Donald0526: 知道错在哪里了,FindControl这个函数的是需要name,我却一直往里面放的text,谢谢大佬
一年多之前 回复
Donald0526
Donald_Washington 回复神农藏百草: 而且FindControl()这个函数,传入的形参是宽字节的参数,你确定你传char*没问题?你这转一道反而画蛇添足了!!!
一年多之前 回复
Donald0526
Donald_Washington 回复神农藏百草: 那就是控件没找到呗,你确定有这个控件吗?控件名称不是在写xml的时候就确定了吗?
一年多之前 回复
weixin_42163711
神农藏百草 回复Donald0526: 大佬,我调用GetData(),但是425行的m_pCOptHideMsg的地址还是0x00....
一年多之前 回复
Donald0526
Donald_Washington 回复神农藏百草: 已更新回答
一年多之前 回复
weixin_42163711
神农藏百草 不太明白,大佬能说详细一点吗
一年多之前 回复

要看v_vecAllMsg定义的时候是什么类型,如果不是CDuiString是存不进去的。要转化为v_vecAllMsg定义的类型

比如定义的int类型的,就应该push一个int的数进去

    vector<int> vecInt;
    for (int i=0; i<10; i++)
    {
        vecInt.push_back(i);
    }
weixin_42163711
神农藏百草 我存另一个数据,用了一个循环,然后sprintf_s(strHead,_T("FaultMsg_%d"),i);temp.m_plabelMsg = static_cast<COptionUI*>(m_PaintManager.FindControl(strHead));v_vecFaultMsg.push_back(temp);这样能存进去
一年多之前 回复
weixin_42163711
神农藏百草 大佬你好,图片上410行的位置有定义的类型,就是InfoFault(结构体),然后下面一行有结构体的声明内容,我应该怎么将获得的字符串类型转换为InfoFault类型呢
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问