Konvertieren von Vektor uint8 string
Ich habe einen Zeiger auf einen Vektor vom Typ uint8.
Wie würde ich diesen Zeiger und konvertieren Sie die Daten in den vector in eine vollständige Zeichenfolge Vertreter seiner Inhalte?
Sollten Sie bereits wissen, die Länge von Vektor->Größe(). Hat er nicht-ascii-Daten innerhalb es oder nicht?
Es ist alle ascii-Daten.
Es ist alle ascii-Daten.
InformationsquelleAutor Mr S | 2013-07-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konnte man nur initialisieren der
std::string
mit der Sequenz, erhalten aus denstd::vector<uint8_t>
:Gibt es keine Notwendigkeit zu spielen, keine tricks zu überprüfen, ob die
std::vector<uint8_t>
leer ist: wenn es ist, wird der Bereich leer. Jedoch, möchten Sie vielleicht zu prüfen, ob der Zeigerv
null ist. Die oben erfordert, dass Sie auf ein gültiges Objekt.Du meinst, warum ich nicht die Fragen beantworten, die für eine Weile? Es ist ganz einfach: ich war damit beschäftigt zu versuchen, um die Arbeit neben der Arbeit. Im Moment bin ich zu beschäftigt bei der Arbeit zu Arbeit neben der Arbeit.
Ich bin überrascht, dass diese Antwort wird akzeptiert, weil es nicht produzieren etwas "Vertreter seiner Inhalte". Wenn Sie Vektor "{1,2,3,4,5,6,7,8,9}" dann ist Ihre Ausgabe wird ein string nicht Darstellbare Zeichen!
es scheint, wir interpretiert die Frage anders: ich habe gelesen, wie die Frage zum umwandeln einer Sequenz von bytes, die in einem
std::vector<uint8_t>
zu der gleichen Sequenz von bytes, die in einemstd::string
. Die Antwort entspricht der interpretation. Sie interpretation scheint zu sein, Formatierungen den Inhalt einerstd::vector<...>
und speichern das Ergebnis in einerstd::string
. Diese Frage wird uns oft gestellt/beantwortet, wenngleich möglicherweise in zwei Teile: so formatieren Sie einen Vektor? Wie die direkte Ausgabe von einem stream in einen string?InformationsquelleAutor Dietmar Kühl
Für diejenigen, die will, dass die Konvertierung durchgeführt werden nach einen string deklariert ist, können Sie std::string::assign(), z.B.:
InformationsquelleAutor deddebme
empty()
Vektoren: Sie werden zurückkehren ein Gültiger Bereich undstd::string
hat einen Konstruktor der Einnahme ein paar von input-Iteratoren.Oh ja du hast Recht, ich habe die Angewohnheit, dies zu tun, weil ich manchmal das kompilieren mit einem alten STL-Implementierung, die nicht haben, die Vorlagen überlastung, Total vergessen.
ja, die alten RogueWave Umsetzung noch Versand als Standard-C++ - standard-Bibliothek für Sun-Studio, denke ich. Wenn ich zu verwenden habe, ich würde wirklich verwenden
std::copy(v->begin(), v->end(), std::back_inserter(str));
.InformationsquelleAutor Mehrdad