int main()
{
std::string src = "123456789";
//编码后
std::string a;
int len = src.length();
//记载src长度
a.assign((char*)&len, sizeof(int));//memcpy
//将src原字符串加在a后面
a += src;
log(a.length());//13
log(a);
//对a进行解码
int xlen;
string dst;
//xlen记载字符串长度,该函数截取a的字符串长度部位赋予xlen
memcpy((void*)&xlen, (void*)a.c_str(), sizeof(int));
log(xlen);//9
//a的头指针偏移sizeof(int)个长度,将xlen个长度的字符赋予给dst,dst就是字符串
dst.assign(a.c_str()+sizeof(int),xlen);
log(dst);//
system("pause");
return 0;
}
字符串char * string指针编码解码memcpy assign问题
最新推荐文章于 2023-08-06 20:39:52 发布