Zahlen in std::string



  • Hi,
    ich möchte den Wert einer Variablen in einem std::string speichern. bei char strings kann man ja z.B. per

    char Test[50];
    int i = 25;
    sprintf(Test, "Hallo %i", i);
    

    Werte von Variablen in einen String schreiben, doch wie geht das bei std::string's.

    Ich möchte übrigens keine ostringstreams verwenden, da diese mir zu langsam sind.



  • Es gibt noch strstreams, die sind so schnell wie die C-Funktionen, aber deprecated. Aber bist du sicher das das Bisschen, das die stringstreams länger brauchen, so viel ausmachen wird?



  • Ich will diese strings in einem logging system in einem Spiel verwenden. Zwar nicht an sehr zeitkritischen Punkten, aber trotzdem wären ostringstreams die letzte Lösung.

    Nachdem ich jetzt das Wort deprecated nachgeschlagen hab 🙂 frage ich mich, warum diese missbilligt / getadelt / verurteilt sind. 😃



  • edit1: code entfernt weil schwachsinn 😑
    edit2:
    Wieso verwendeste bei nem Logging System nich fstreams,
    kannste alles bequem per "<<" reinschreiben, die "Umwandlung" passiert automatisch
    oder willste das ganze zeug garned in ne Datei schreiben ?



  • godlikebot schrieb:

    Ich will diese strings in einem logging system in einem Spiel verwenden. Zwar nicht an sehr zeitkritischen Punkten, aber trotzdem wären ostringstreams die letzte Lösung.

    Ich kann mir bei meiner normalen Definition von "logging" nicht vorstellen, wie man da irgendeinen Unterschied bemerken könnte...



  • @k1ro: Man kann entweder in eine Datei oder auf den Bildschirm loggen
    @operator void: Wahrscheinlich haste recht und es ist übertrieben auf den winzigen Zeitunterschied zu achten...

    Ich werd jetzt also wahrscheinlich doch die ostringstreams verwenden.



  • die pcs sind so rasend geworden, dass sich die unterschiede im Nanosekunen bereich bewegen,und solange du den login nich 10000x pro frame aufrufst, wirste keinen unterschied merken 😉


Anmelden zum Antworten