Strings addieren wie mache ich es?



  • Hallo alle zusammen

    Ich habe ewigkeit nicht mit c++ programiert und muss jetzt was programmieren und komme einfach nicht dahinter ^^. Java ist ja hammer geil im gegensatz zu c++ ^^
    Aber ich muss durch
    Ich habe also ein String und möchte folgendes machen

    string s = "Hallo" + getID() + "," + "wie gehts dir";

    Die funktion getID() liefert einen int. Der Compiler meldet fehler. Bzw nicht der Compiler, ich kann ja nicht mal kompelieren.Er schreibt "expresion must have integral or enum type".
    Was zum kuku ist das? Wie soll ich die Strings den sonst addieren? Kann mir jemand helfen bitte?
    Sitze echt schon seit 4 stunden an einem Problem und komme nicht weiter einfach.



  • versuch mal

    char buffer[256];

    sprintf(buffer, "Hallo %d bla bla bla",getID());



  • LEO_III schrieb:

    versuch mal

    char buffer[256];

    sprintf(buffer, "Hallo %d bla bla bla",getID());

    Oder du lässt das bleiben (weil C und kein C++), informierst dich darüber was der Unterschied zwischen strings und string-literalen ist und verwendest dann nen stringstream.



  • hmmm

    also ich habe folgendes herausgefunden:
    stringstream d;
    d<<getClubID();
    string s = "Hallo" + d.str() + "," + "wie gehts dir";

    Anderen guten bzw. den besten Weg gibt es nicht ne? Außer, dass ich jeden Buchstaben nehme und ins char umwandele usw.....



  • Mit boost geht's so:

    #include <boost/lexical_cast.hpp>
    #include <string>
    #include <iostream>
    
    int main()
    {
      std::string s;
      s = std::string( "Hallo " ) + boost::lexical_cast<std::string>( 42 );
    
      std::cerr << s << std::endl;
    }
    

    Boost sollte aug jedem guten C++-Entwicklungsrechner installiert sein.



  • ostringstream oss;
    oss<<"Hallo "<<getClubID()<<", wie gehts dir?";
    
    string s = oss.str();
    

Anmelden zum Antworten