Anzeige:
Ergebnis 1 bis 7 von 7

Thema: [C++] int to string

  1. #1
    Registrierter Benutzer
    Registriert seit
    02.02.2005
    Beiträge
    74

    [C++] int to string

    Hi,

    ich habe hier eine Zeichenkette wie:
    Code:
    string sqlCommand="update bla set bar=foo where id=";
    int id=10
    Nun möchte ich diesen Integer an die Zeichenkette anhängen, aber ich bekomme es einfach nicht hin.
    Wie kann ich diesen int in einen string konvertieren?

    Kann mir hier bitte einer helfen?
    Gruss
    Matthias

  2. #2
    Registrierter Benutzer
    Registriert seit
    22.03.2001
    Beiträge
    650
    snprintf + strncat

  3. #3
    Registrierter Benutzer
    Registriert seit
    02.02.2005
    Beiträge
    74
    Hab jetzt eine Möglichkeit gefunden:
    Code:
    int id=10;
    stringstream sstr;
    sstr << id;
    string a=sstr.str();
    Gruss
    Matthias

  4. #4
    Registrierter Benutzer
    Registriert seit
    02.02.2005
    Beiträge
    74
    Jetzt habe ich das nächste Problem, ich muss möchte mir einen Operator schreiben, der genau das macht, was ich weiter oben geschrieben habe.

    Im Code würde ich gerne das folgende schreiben:
    Code:
    int id=10;
    string sql="update tabel foo=bar where id=" + id;
    Leider kenne ich mich mit Operatoren überhaupt nicht aus, kann mir einer hier bitte weiterhelfen?
    Gruss
    Matthias

  5. #5
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Oder mittels stringstream
    Code:
    #include <iostream>
    #include <sstream>
    #include <string>
    
    int main()
    {
        std::string s = "some text";
        int number = 10;
    
        std::stringstream stream;
        stream << s << number;
        s = stream.str();
    
        std::cout << s << std::endl;
    
        return 0;
    }
    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  6. #6
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Ups, da war ich zu langsam

    Code:
    #include <iostream>
    #include <sstream>
    #include <string>
    
    inline std::string& operator+=(std::string& s, int i)
    {
        std::stringstream stream;
        stream << s << i;
        s = stream.str();
    
        return s;
    }
    
    inline std::string operator+(const std::string& s, int i)
    {
        std::stringstream stream;
        stream << s << i;
        return stream.str();
    }
    
    
    int main()
    {
        std::string s = "some text";
        int number = 10;
    
        std::stringstream stream;
        stream << s << number;
        s = stream.str();
    
        std::cout << s << std::endl;
    
        s += 5;
    
        std::cout << s << std::endl;
    
        std::cout << s + 9 << std::endl;
    
        return 0;
    }
    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  7. #7
    Registrierter Benutzer
    Registriert seit
    02.02.2005
    Beiträge
    74
    ah super, einfach nur genial.
    Super danke dir vielmals!!!!!!

    Ich bin einfach sprachlos.
    Gruss
    Matthias

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •