Ich möchte Zahlen in einem std::vector<unsigned char>
auf einem Bildschirm anzeigen, aber auf dem Weg zum Empfänger muss ich stopfen Sie diese Zahlen in eine std::string
.Konvertieren von Vektor <unsigned char> {1,2,3} in Zeichenfolge "1-2-3" AS DIGITS
Was auch immer ich versuchte (atoi
, reinterpret_cast
, string.c_str()
...), gab mir entweder einen Unsinn, oder eine Buchstaben-Darstellung dieser ursprünglichen Nummern - d. H. Ihre entsprechenden ASCII-Zeichen.
Also wie kann ich einfach (vorzugsweise Standardmethode) vector<unsigned char> {1,2,3}
in eine string "1-2-3"
konvertieren?
In der Original Post (später bearbeitet) erwähnte ich, dass ich das in C# oder Java machen könnte. Auf Antrag von πάντα ῥεῖ Beispiel in C# oder Java, hier zu schaffen, ist ein schneller # Weg Linq C:
public static string GetStringFromListNumData<T>(List<T> lNumData)
{
// if (typeof(T) != typeof(IConvertible)) throw new ArgumentException("Expecting only types that implement IConvertible !");
string myString = "";
lNumData.ForEach(x => myString += x + "-");
return myString.TrimEnd('-');
}
'1' und' 1'' sind nicht dasselbe. – NathanOliver
Wie hätten Sie das auf einfache Weise mit C# oder Java gemacht? –
@ πάντα ῥεῖ Ich habe gerade ein C# -Beispiel gepostet, sicherlich ein Thema möglicher Verbesserungen :) –