formatierter string
-
Hallo,
gibt es so etwas ähnliches wie printf, nur dass meine Ausgabe nicht auf der Konsole ausgegeben wird, sondern in einer Variable gespeichert wird?
Danke
-
Ja, Boost hat sowas und nennt sich auch rein zufällig format:
http://www.boost.org/libs/libraries.htm#String
-
Die C Runtime hat so etwas auch

sprintf
-
Schön, aber ist 1. kein C++ und zweitens kann sprintf nicht so viel, wie boost::format kann. boost::format ist immerhin typsicher, arbeitet mit den C++ Streams besser zusammen, wirft Exceptions und hat ein paar Formatierungs-Features mehr. Alle Features und Unterschiede zu printf findet man hier:
http://www.boost.org/libs/format/doc/format.html#syntaxWarum also das schwächere C benutzen?
-
Weil die C Runtimes im gegensatz zu Boost zum C++ Standard gehören?
Warum zusätzliche Anhängigkeiten ins Projekt bringen, wenn die einfachste Lösung ausreicht?
-
wenn die printf formatierungs Funktionialität ausreichend ist .. ist wohl sprintf die bessere und schneller alternative:)
-
Danke Archti, danke SeppSchrot, ich werde es mit sprintf ausprobieren und wenn das nicht reicht, nehme ich das Zusatzpacket

-
Kann man Leute wie SeppSchrott nicht kickbannen?
und dann auch noch sprintf, wie kann man sowas nur vorschlagen..
wenn du unbedingt c programmieren willst, dann nimm snprintf
wenn du iso-c++ programmieren willst und nicht wie SeppSchrott auf Buffer Overflows stehst, dann nimm boost::format
-
SeppSchrot schrieb:
Weil die C Runtimes im gegensatz zu Boost zum C++ Standard gehören?
da hast du leider recht.
und wieso gott verdammt ist das so?
kann nicht irgendwer mal herkommen und std::format, std::thread, std::net in den standard erfinden?
was macht das standard-komitee da? schlafen die den ganzen tag durch?
-
Man kann das auch in C++ lösen, ohne sprintf oder boost. Die Lösung: std::stringstream. http://www.cppreference.com/cppsstream/index.html
-
Lars Hupel schrieb:
Man kann das auch in C++ lösen, ohne sprintf oder boost. Die Lösung: std::stringstream. http://www.cppreference.com/cppsstream/index.html
und wenn ich die sprintf-syntax benutzen will, aber weder auf die C-Funktionen zurückgreifen will noch boost benutzen will? was mach ich dann?
richtig: ich nehme das nichtvorhandene std::format; weil irgendwelche standard-freaks sowas nicht hinbekommen.