Uint8型のベクトルへのポインターがあります。
このポインタを取得して、ベクター内のデータをその内容を表す完全な文字列に変換するにはどうすればよいですか?
std::string
から取得したシーケンスでstd::vector<uint8_t>
を初期化することができます。
std::string str(v->begin(), v->end());
std::vector<uint8_t>
が空であるかどうかを確認するためのトリックを実行する必要はありません。空の場合、範囲は空になります。ただし、ポインタがv
であるかどうかを確認することをお勧めします。上記では、有効なオブジェクトを指している必要があります。
変換を実行したい場合after文字列が宣言されている場合は、std :: string :: assign()を使用できます。例:
std::string str;
std::vector<uint8_t> v;
str.assign(v.begin(), v.end());
vector<uint8_t> *p;
string str(
p && !p->empty() ? &*p->begin() : NULL,
p && !p->empty() ? &*p->begin() + p->size() : NULL);