Anzeige:
Ergebnis 1 bis 6 von 6

Thema: C++ Probs

  1. #1
    Registrierter Benutzer
    Registriert seit
    12.03.2003
    Ort
    Delligsen
    Beiträge
    62

    C++ Probs

    hiho, ich habe ein kleines problem mit C++ ) (ich bin es aus java alles ein wenig anders gewohnt )
    und zwar, möchte ich gerne eine char-Zeichenkette mit einem int verbinden, und das will ums verrecken nicht klappen, ich habe es schon mit IntToStr() und strcat() versucht, aber strcat() hat als argumente zwei char*, doch das ergebnis von IntToStr() ist ein ansi string, welcher nicht akzeptiert wird .
    Hat jemand von euch ne idee ????


    danke schon einmal im voraus,
    euer hpf

  2. #2
    Registrierter Benutzer
    Registriert seit
    10.04.2001
    Ort
    Bremen
    Beiträge
    339
    Hi!

    Die einfachste Lösung ist es std::stringstream zu benutzen.
    Ihn findest du in <sstream> (#include <sstream>).
    Beispiel:
    Code:
    int number = 3;
    std::stringstream string;
    
    string << "Hallo Nr. " << number;
    std::stringstream intern den std::string auf den du mit string.str() zugreifen kannst. std::string wiederrum benutzt eine char-Zeichenkette mit der du bei std::stringstream mit string.str().c_str() zugreifen kannst.

    Für C guck dir snprintf an (man 3 snprintf).

    c ya,
    Tobias

  3. #3
    Registrierter Benutzer
    Registriert seit
    12.03.2003
    Ort
    Delligsen
    Beiträge
    62
    ersteinmal danke für die schnelle Antwort, aber das problem ist, dass ich das ganze dann in eine variable gespeichert brauche, und es nicht ausgeben möchte
    fällt dir dazu noch was anderes ein ???

    wie gesagt, ich komme aus der Java schiene, da kann man einfach den int in nen char casten und per +Operator aneinanderketten

  4. #4
    Registrierter Benutzer
    Registriert seit
    10.04.2001
    Ort
    Bremen
    Beiträge
    339
    ?

    Das ist doch dann in eine Variable gespeichert. <= std::stringstream string;
    std::stringstream ist nicht mit std:cout und co. zu verwechseln.

    string << "Hallo Nr. " << number;
    bedeutet in etwas soviel wie
    string = "Hallo Nr." + number

    c ya,
    Tobias

  5. #5
    Registrierter Benutzer
    Registriert seit
    12.03.2003
    Ort
    Delligsen
    Beiträge
    62
    ohh, dann hatte ich das nicht gleich verstanden
    danke

  6. #6
    Registrierter Benutzer
    Registriert seit
    12.03.2003
    Ort
    Delligsen
    Beiträge
    62
    wenn tmp mein stringstream ist, pX[i].name ist eine char kette, und das ander ist nen int.

    tmp << pX[i].name <<pX[i].playerNr;

    aber als ergebnis, wenn ich tmp testweise ausgebe, bekomme ich nur eine kette von '0' un '1'.

    wenn der name "Player" ist, und Nr = 1, bekomme ich folgendes ergebnis :
    00000001

    ist das normal ???

    UPS: SORRY, ICH HATTE ETWAS ÜBERSEHEN, ES KLAPPT NUN
    Geändert von hpf (14-05-2003 um 13:44 Uhr)

Lesezeichen

Berechtigungen

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