将uint8的矢量转换为字符串

Mr *_*r S 13 c++ string stdstring stdvector uint8t

我有一个指向uint8类型向量的指针.

我如何获取此指针并将向量中的数据转换为代表其内容的完整字符串?

Die*_*ühl 24

您可以std::string使用从以下位置获得的序列初始化std::vector<uint8_t>:

std::string str(v->begin(), v->end());
Run Code Online (Sandbox Code Playgroud)

没有必要玩任何技巧来检查是否std::vector<uint8_t>为空:如果是,则范围将为空.但是,您可能想要检查指针是否v为空.以上要求它指向一个有效的对象.

  • @ 0x499602D2:你的意思是,为什么我一段时间没有回答问题?这很简单:除了工作之外,我还在忙着完成工作.现在,除了工作,我还要忙于工作. (3认同)

ded*_*bme 6

对于那些希望在声明字符串完成转换的人,您可以使用 std::string::assign(),例如:

std::string str;
std::vector<uint8_t> v;
str.assign(v.begin(), v.end());
Run Code Online (Sandbox Code Playgroud)