Double und String konkatenieren



  • Ich finde, dieses Forum sollte eine Like-Funktion haben, um Beiträge zu honorieren ohne das Forum vollzuposten.

    Genau das würde ich nämlich dann gerne mit Werners Beitrag machen, der wieder einmal lehrreich war. 👍



  • Eisflamme schrieb:

    Ich finde, dieses Forum sollte eine Like-Funktion haben, um Beiträge zu honorieren ohne das Forum vollzuposten.

    Genau das würde ich nämlich dann gerne mit Werners Beitrag machen, der wieder einmal lehrreich war. 👍

    genau das dachte ich mir auch gerade 🙂



  • Eisflamme schrieb:

    Ich finde, dieses Forum sollte eine Like-Funktion haben

    Das fände ich auch schön, wenn man Beiträge wie auf Stackoverflow bewerten kann. Vielleicht ließt Marcus das hier ja. 🙂



  • Eisflamme schrieb:

    Ich finde, dieses Forum sollte eine Like-Funktion haben, um Beiträge zu honorieren ohne das Forum vollzuposten.

    Genau das würde ich nämlich dann gerne mit Werners Beitrag machen, der wieder einmal lehrreich war. 👍

    Dann hast Du wohl den Beitrag von manni66 übersehen, sonst hättest Du Dir den Blödsinn mit boost sparen können ...



  • Belli schrieb:

    Eisflamme schrieb:

    Ich finde, dieses Forum sollte eine Like-Funktion haben, um Beiträge zu honorieren ohne das Forum vollzuposten.

    Genau das würde ich nämlich dann gerne mit Werners Beitrag machen, der wieder einmal lehrreich war. 👍

    Dann hast Du wohl den Beitrag von manni66 übersehen, sonst hättest Du Dir den Blödsinn mit boost sparen können ...

    manni schickt aber alles einfach nur nach cout. Das ist schon etwas anderes, als eine Zahl in einen string zu konvertieren, um ihn dann mit anderen strings zu konkatenieren.



  • std::to_string ist das schönste, aber auch das am wenigsten verbreitetste.
    boost::lexical_cast ist mit das leistungsfähigste, aber am schwierigsten zu installierenste.
    Und der Weg über std::stringstream ist der selbst gebaute Weg, der am ehesten der Ausgabe ähnelt.

    So späße wie sprintf oder sowas könnte man auch nehmen, ist aber C und empfehle ich daher nur meinen Feinden.



  • Skym0sh0 schrieb:

    std::to_string ist das schönste, aber auch das am wenigsten verbreitetste.

    Ne. std::to_string() ist genau dann schön, wenn du einen einzelnen Wert zu einem String konvertieren musst. Für eine Verkettung ist operator<< um einiges sinnvoller.

    Skym0sh0 schrieb:

    boost::lexical_cast ist mit das leistungsfähigste, aber am schwierigsten zu installierenste.

    Es würde mich wundern, wenn zwischen boost::lexical_cast() und std::to_string() ein nennenswerter Unterschied bestünde. Wenn, dann eher zu Gunsten von std::to_string() , da der Implementierungsdetails ausnutzen kann.

    Skym0sh0 schrieb:

    Und der Weg über std::stringstream ist der selbst gebaute Weg, der am ehesten der Ausgabe ähnelt.

    Wenn du einen std::string aus mehreren Werten zusammenbauen willst, ist std::stringstream der Standard-Ansatz. Du baust dir nichts selbst...

    Skym0sh0 schrieb:

    So späße wie sprintf oder sowas könnte man auch nehmen, ist aber C und empfehle ich daher nur meinen Feinden.

    Hier könnte man als Alternative Boost.Format nennen.



  • @daddy:
    Meiner Meinung nach ist nach cout schicken genau das, was in dem Ursprungsposting gefragt war.
    Aber auch falls nicht, gäbe es weitaus einfachere Möglichkeiten, ohne einem (offensichtlichen) Anfänger mit boost zu kommen, siehe zB Werner oder aber auch stringstream für Compiler nach dem alten Standard.



  • Belli schrieb:

    @daddy:
    Meiner Meinung nach ist nach cout schicken genau das, was in dem Ursprungsposting gefragt war.

    gut, ist nicht ganz eindeutig.

    Belli schrieb:

    Aber auch falls nicht, gäbe es weitaus einfachere Möglichkeiten, ohne einem (offensichtlichen) Anfänger mit boost zu kommen, siehe zB Werner oder aber auch stringstream für Compiler nach dem alten Standard.

    den stringstream habe ich als erstes erwähnt.



  • Ich finde, dieses Forum sollte eine Like-Funktion haben, um Beiträge zu honorieren ohne das Forum vollzuposten.

    Genau das würde ich nämlich dann gerne mit Werners Beitrag machen, der wieder einmal lehrreich war. 👍

    Dann hast Du wohl den Beitrag von manni66 übersehen, sonst hättest Du Dir den Blödsinn mit boost sparen können ...

    Ich verstehe zwar den Zusammenhang zwischen Deinem Zitat meiner Aussage und Deiner Aussage nicht, aber mein Fehler war, dass ich Skym0sh0s Beitrag übersehen hatte. Sorry.



  • Eisflamme schrieb:

    Ich verstehe zwar den Zusammenhang zwischen Deinem Zitat meiner Aussage und Deiner Aussage nicht

    Das habe ich befürchtet, tut mir leid ...



  • Ist der Boost Cast nicht mega langsam?



  • Sorry Leute es habndelt sich nicht um einen String sondern UM EINEN CSTRING. Wie würde das dann aussehen? Sorry nochmal.



  • CString = char* bei dir? Oder irgendwas anderes?

    std::string hat eine Funktion für nach C-Strings -> std::string::c_str()



  • char cstring[] = "foo";
    std::string string(cstring);
    char another_cstring[4];
    strcpy(another_cstring, string.c_str());
    

    Wo ist das Problem?
    Andererseits:

    char buffer[100];
    sprintf(buffer, "Hallo: %f", some_float);
    


  • Es müsste also heissen:

    #include <cstring>
    #include <iostream>

    using namespace std;

    int main(void)
    {
    CString a = "Hallo";
    double b = 2.7;

    cout << a + " " + b << endl;

    return 0;
    }

    Was muss man machen um beide konkatenieren zu können?



  • jenny.caros schrieb:

    Was muss man machen um beide konkatenieren zu können?

    möchtest du einen string haben oder beides "einfach nur" nach cout ausgeben?

    wie auch immer, für beide Varianten wurden dir Lösungen genannt. Was verstehst du nicht?

    edit: Wieso zum Geier bist du auf einmal bei CString gelandet? Kann es sein, dass du einfach nur ein wenig trollen willst?



  • Ich will statt einem string einen cstring das ist alles. Sorry nochmal.



  • jenny.caros schrieb:

    Ich will statt einem string einen cstring das ist alles. Sorry nochmal.

    warum?



  • ja dann mach das so wie auf den ersten Seiten vorgeschlagen, da bekommst du einen std::string raus. Und danach nutzt du die c_str() Methode von dem


Anmelden zum Antworten