mal wieder c-strings



  • Hallo, ich möchte einen c-string erstellen. Er setzt sich aus ein paar Zeichen(Characters) und einem double zusammen.

    Wie wandle ich das double in char* um? Und wie konkateniere ich die zwei dann.

    also etwa so:

    char* ersterTeil = {"Zahl"};
    double Zahl = 2;

    Wie bring ich die zwei Sachen zusammen?



  • z.b.

    char test[20];
    char name[] = "betrag: ";
    float betrag = 12.5;
    
    sprintf(test,"%s%f",name,float);
    

    dann kriegst: "betrag: 12.5";

    Meep Meep



  • Am besten du benutzt std::string. Wenn du mit chars arbeiten willst, dann schau mal z.B. in der MSDN nach, wie man double nach char* konvertiert.
    Mit strcat kannst du dann die Strings zusammenfügen.



  • @mrtrashtalk
    Schau doch bitte vor dem Posten einer Frage in unsere FAQs:

    http://www.c-plusplus.net/forum/viewtopic.php?t=39488



  • Danke für die Hilfe. Sorry die FAQs hab ich übersehen.

    Hab jetzt aber ein anderes, ähnliches Problem.

    Ich hab eine Klasse, die zwei char Attribute hat.
    (m_eins, m_zwei)

    Ich übergebe diese Argumente einer Methode die einen Pointer auf ein Character/Characterarray verlangt.

    Übergeb ich das mit f(&m1) kommt aber ein ziemlicher Mist raus. Was mach ich falsch?



  • f(m_eins);
    // oder
    f(&m_eins[0]);
    

    Beide Möglichkeiten kannst du benutzen.
    'm_eins' ist ein Zeiger auf m_eins[0].



  • beide Möglichkeiten funktionieren bei mir nicht.

    wenn ich f(...,&m_eins[0]) aufrufe bekomme ich den Fehler: subcript requires array or pointer type.

    ach ja, die Funktion macht folgendes

    [cpp]
    f(..., char* param){
    char *c;
    for (c=param; *c != '\0'; c++) {
    printCharacter(.., *c);
    }
    }

    Das Problem ist, das an den Character auch das darauf folgende Attribut m_zwei drangehängt wird, und danach noch ne Menge anderen Blödsinns. Ich schätze mal Zeug was im Speicher dahinter steht.


Log in to reply