Problem mit Übergabe von Strings an ein Listenfeld



  • Tach auch

    Erstmal zur kleinen Übersicht:

    Ich habe mir einen kleinen Theaterreservierungsdialog geschrieben, in dem die Benutzer sich Karten für ein Theater reservieren können.

    Die Benutzer können auf dem Dialog Theater den Dialog Reservierung anwählen um halt Karten zu reservieren. Die reservierten Karten sollen nach der Reservierung in einem Listenfeld auf dem Theaterdialog angezeigt werden.
    Das ungefähr so aussehen soll:

    Meier; 5;2

    Meier ist der Kundenname, 5 ist die Reihe und 2 ist der Sitz.

    Das Programm funktioniert auch wenn ich es wie folgt schreibe:

    m_listResult.AddString( KundenName.c_str() );

    CString strZaehler;
    strZaehler.Format("%d;%d",reihe,sitz);
    m_listResult.AddString( strZaehler );

    Das einzige Problem er schreibt erst den Kundennamen und danach erst die Platzreservierung.
    Also so:

    Meier
    5;2;

    Wenn ich es wie folgt schreibe:

    strZaehler.Format("%s;%d;%d",KundenName.c_str, reihe, sitz);
    m_listResult.AddString( strZaehler );

    schreibt er mir zwar alles in eine Zeile, aber als KundennName steht irgend nen scheiss den niemand versteht. 😕

    Ich hoffe Ihr habt das Problem verstanden und mir kann jemand helfen

    Gruss Silvercreast



  • Die Klammern () nicht vergessen -> mystring.c_str()
    Wenn dann immer noch mist da steht, dann fehlt die '\0'.



  • Oh Shit hast recht was für nen dummer Fehler hab ich voll übersehen , danke für die Hilfe



  • Silvercreast schrieb:

    Oh Shit hast recht was für nen dummer Fehler hab ich voll übersehen , danke für die Hilfe

    Ja, man sollte diese 'dummen' Fehler nicht unterschätzen,
    das sind meistens die Fehler für die man am längsten nach
    einer Lösung sucht, weil sie sich so gut im Code getarnt haben,
    das man sie garnicht mehr sieht *g*


Anmelden zum Antworten