文章目录
- std::string的赋值
- 概述
- 笔记
- END
std::string的赋值
概述
看网上的例子,给std::string赋值,大部分都是直接赋值, 当成一个字符串来用。
如果赋值给std::string的是一段buffer(不可见字符),那网上的例子就不合适了。
实验了一下,可以用append() + push_back()来赋值。都当成一个buffer来赋值,如果是\0结尾的字符串,那就再多push_back(‘\0’)就可以了。
笔记
bool Cxx::get_lic_data_by_char_pt(IN DWORD_PTR id, OUT std::string& str)
{bool b_rc = false;TAG_DATA_BUFFER* pDataBuf = NULL;do {if (!get_sp_res_data(id, pDataBuf)){break;}if (DATA_PROCESS_TYPE_CHAR_PT != pDataBuf->u8_data_process_type){break;}str.append((const char*)pDataBuf->pdata, pDataBuf->len_data); // 附加一段bufferstr.push_back(0x00); // 如果是\0结尾的字符串,再加一个\0b_rc = true;} while (false);return b_rc;
}