我正在将数据序列化为 uint8_t 向量以将其发送到另一个模块,我有一个从函数 getVal() 返回的字符串,当我执行 vector.insert() 时,它会显示更多的随机值...
我正在将数据序列化为一个 vector
以 uint8_t
将其发送到另一个模块,我有一个从函数返回的字符串 getVal()
,当我执行 vector.insert()
此操作时,它会在我的向量中显示更多的随机值。
std::string getVal()
{
std::string x = "564";
return x ;
}
int main()
{
std::vector<uint8_t> data {0x70};
data.insert(data.end(),getVal().begin(),getVal().end());
for (auto i:data)
std::cout << i <<std::endl;
std::cout<<data.size()<<std::endl;
std::cout << getVal() <<" ,type: "<< sizeof(getVal()) << ", .size(): "<< getVal().size()<<std::endl;
return 0;
}
感谢你的帮助。
解决方案是循环遍历字符串并使用 .push_back()
,但我需要了解为什么会发生这种情况 .insert()
.