std::string mit format string



  • Marlar22 schrieb:

    Grauenhaft lange mit Stringstreams. 👎

    Klar, dafür sparst du dir halt ein Wochenende nach einem komischen Absturz zu suchen weil irgendjemand einen double in einen float geändert hat und die jeweiligen Formatspecifier nicht angepasst hat.

    Die korrekte Lösung wurde schon genannt: Boost.Format



  • Marlar22 schrieb:

    Und wer ernsthaft behauptet stringstreams sind so elegant und kompakt wie die printf Formatbezeichner, lebt etwas in einer Traumwelt. Koennt ja mal diese Aufrufe per Stringstreams nachbauen:
    string s1 = toString("%06i %07i %2i %5.2lf D", a, b, c, d);
    string s2 = toString("%02f %02f %2i E", a, b, c);

    Grauenhaft lange mit Stringstreams. 👎

    Du bist kein C++-Programmierer 👎 😃
    Übrigens kann das l im ersten Format-String weg.
    C++-Version:

    std::stringstream stream;
    stream << std::setfill('0')//Mehr Freiheiten, was dieses Füllzeichen betrifft
           << std::setw(6) << a << ' ' //Typsicher und elegant
           << std::setw(7) << b << ' ' // ...
           << std::setw(2) << std::setfill(' ') << c << ' '
           << std::setw(5) << std::fixed << std::setprecision(2) << d << " D";
    


  • Sone schrieb:

    Du bist kein C++-Programmierer 👎 😃

    Und du bist ein Idiot. Halt doch endlich mal die Klappe. 👎

    Sone schrieb:

    //Typsicher und elegant
    

    Wait, what?



  • Kellerautomat schrieb:

    Sone schrieb:

    Du bist kein C++-Programmierer 👎 😃

    Und du bist ein Idiot. Halt doch endlich mal die Klappe. 👎

    Was war denn hier schon wieder falsch!??!



  • War alles richtig. Kellerautomat weiß einfach nicht, dass man den echten C++ - Programmierer daran erkennt, dass er cout/stringstreams anstelle von printf/sprintf benutzt.



  • Benehmt euch. Oder klärt das privat.



  • pumuckl schrieb:

    Benehmt euch. Oder klärt das privat.

    Tut mir Leid. 😞

    Die Frage des TEs ist inzwischen ja beantwortet worden (ich wollte nur nicht, dass er mit der falschen Vorstellung lebe, Stringstreams seien eine Katastrophe/o.ä.).



  • pumuckl schrieb:

    Benehmt euch. Oder klärt das privat.

    Lustig.
    Sone spammt hier permanent rum, sinnlose Scheisse über sinnlose Scheisse.

    Wenn man ihn deswegen anmotzt kommt bloss "klärt das privat".

    Wie wär's es nicht privat sondern for(u)mell zu klären und ihn einfach zu sperren?



  • Belli schrieb:

    Kellerautomat weiß einfach nicht, dass man den echten C++ - Programmierer daran erkennt, dass er cout/stringstreams anstelle von printf/sprintf benutzt.

    thx, ymmd! 😃



  • hustbaer schrieb:

    pumuckl schrieb:

    Benehmt euch. Oder klärt das privat.

    Lustig.
    Sone spammt hier permanent rum, sinnlose Scheisse über sinnlose Scheisse.

    Wenn man ihn deswegen anmotzt kommt bloss "klärt das privat".

    Danke.



  • Swordfish schrieb:

    Belli schrieb:

    Kellerautomat weiß einfach nicht, dass man den echten C++ - Programmierer daran erkennt, dass er cout/stringstreams anstelle von printf/sprintf benutzt.

    thx, ymmd! 😃

    Eigentlich meinte ich, den erkennt man daran dass er den Code schön komplex machen will, was wiederum ein Scherz war.

    Aber cool zu sehen, wie hier alles interpretiert wird... oO


  • Mod

    hustbaer schrieb:

    pumuckl schrieb:

    Benehmt euch. Oder klärt das privat.

    Lustig.
    Sone spammt hier permanent rum, sinnlose Scheisse über sinnlose Scheisse.

    Die Idee ist, dass niemand mehr Sone ernst nimmt.

    Wie wär's es nicht privat sondern for(u)mell zu klären und ihn einfach zu sperren?

    Schon versucht. Er kommt immer wieder...



  • SeppJ schrieb:

    hustbaer schrieb:

    pumuckl schrieb:

    Benehmt euch. Oder klärt das privat.

    Lustig.
    Sone spammt hier permanent rum, sinnlose Scheisse über sinnlose Scheisse.

    Die Idee ist, dass niemand mehr Sone ernst nimmt.

    Also ich hab' den Eindruck dass er hier einen ziemlichen Schaden anrichtet - Image-Schaden für das Forum.
    Nicht jeder ist Stammposter. Und es kommen immer neue Leute dazu die ja noch nicht wissen können dass man ihn nicht ernstnehmen kann. Bzw. Leute die gar nicht registriert sind, sondern nur zufällig reingucken.

    Und es nervt, weil sich ja trotzdem immer wer findet der ihm Antwortet, und dann ist der Thread in dem man eigentlich Hilfe bei irgendwas wollte *schwupps* mit lauter blödem gespamme von Hacker voll. Und sogar wenn ihm keiner antwortet, ist ihm ja egal, er spammt auch gerne Threads ganz im Alleingang zu, 3, 4 oder 5 vollkommen Sinnfreie Beiträge an einem Tag im selben Thread - nicht weil ihm jmd. geantwortet hätte, sondern weil er halt einfach plem ist, keine Seltenheit.
    (BTW: ihm zu erlauben sich umzubenennen war IMO auch keine gute Idee - gerade für Leute die hier nicht 10+ Beiträge pro Tag schreiben dürfte das einigermassen verwirrend gewesen sein)



  • SeppJ schrieb:

    hustbaer schrieb:

    pumuckl schrieb:

    Benehmt euch. Oder klärt das privat.

    Lustig.
    Sone spammt hier permanent rum, sinnlose Scheisse über sinnlose Scheisse.

    Die Idee ist, dass niemand mehr Sone ernst nimmt.

    Wie wär's es nicht privat sondern for(u)mell zu klären und ihn einfach zu sperren?

    Schon versucht. Er kommt immer wieder...

    Sagts einfach seinen Eltern....



  • Ich finde, dass Sone sich im Ton häufig vergreift.

    Sone schrieb:

    Du sollst verdammt nochmal damit arbeiten, anstatt mit diesen ekligen C-Style Strings.

    Allerdings gab er - von seine sozialen Inkompetenz abgesehen - richtige Eingaben (die der TE nicht verarbeiten konnte.)

    Gegeben die Fragestellung: "Ich will eine Funktion schreiben, die aus dem bekannten printf format string einen std::string macht", sind Verweise auf "Stringstream" und C++11 "Variadic Templates" für alle Mitlesenden ein genau so guter Eintrag wie boost::format.

    Ausserdem braucht jedes Forum solche Beiträge!

    Sone 👍

    my 2ct.



  • hustbaer schrieb:

    [...] es kommen immer neue Leute dazu die ja noch nicht wissen können dass man ihn nicht ernstnehmen kann. Bzw. Leute die gar nicht registriert sind, sondern nur zufällig reingucken.

    Evtl. nochmal über http://www.c-plusplus.net/forum/306545 nachdenken ...



  • Swordfish schrieb:

    hustbaer schrieb:

    [...] es kommen immer neue Leute dazu die ja noch nicht wissen können dass man ihn nicht ernstnehmen kann. Bzw. Leute die gar nicht registriert sind, sondern nur zufällig reingucken.

    Evtl. nochmal über http://www.c-plusplus.net/forum/306545 nachdenken ...

    Ich hab ja gesagt, das war gut!

    Btrw: Hustbaer, wie Recht du hast. Jetzt sag mir bitte noch schnell, was falsch war an meiner Aussage. Dann werde ich es besser wissen.


Anmelden zum Antworten