MFC CSring不能正常赋值
我用的是多线程
有一个全局变量CDetectorPortData DetPortData;
类封装如下:
class CDetectorPortData
{
public:
vector<CString> m_PADReceivedDataList;
CString m_PADReceivedData;
};
我试图在一个数据处理线程中对其进行赋值
DetPortData.m_PADReceivedData = "1233";//赋值成功
但是
DetPortData.m_PADReceivedData += StrTmp;//赋值就失败了
请问这是什么原因呢?
[解决办法]
这样操作应该是可以的,报什么错? 用的什么编译器?
[解决办法]
vector没有重载+,另外只有CString 可以支持+。
建议这样
CString a= DetPortData.m_PADReceivedData.getbuffer();
a=a + StrTmp;
DetPortData.m_PADReceivedData="";
DetPortData.m_PADReceivedData=a;
比较安全的办法,虽然耗时多。