Robert: char * ind cstring

hi,
Wahrscheinlich ist das das falsche forum, aber vielleicht kann mir doch jemand helfen.

wie bringe ich ein char *, dass ich aus einer funktion bekomme, in einen cstring?

char *b="laalalala";
CString a;
a.Format("Balbla %s",b);

geht nicht, das führt zum absturz. :(
brauche aber das cstring, für andere funktionen, textfelder, ...

thx
mfg
robert

  1. Sup!

    Welche Sprache ist das, und was ist ein CString?

    Gruesse,

    Bio

    --
    Ich bin ein Mobber - mein Posting tut mir leid! EHRLICH!!!
    sh:( fo:) ch:] rl:} br:> n4:& ie:{ mo:) va:) de:] zu:) fl:( ss:) ls:]
    1. microsoft visual c++ net

      mfg
      robert.

  2. Hi,

    wie bringe ich ein char *, dass ich aus einer funktion bekomme, in einen cstring?

    char *b="laalalala";
    CString a;
    a.Format("Balbla %s",b);

    Die Sprache heisst MFC und was Du angegeben hast ist die Entwicklungsumgebung.
    Ich denke der Absturz ist darauf zurückzuführen, dass Du den Zeiger nicht korrekt angibst. b enthält nur den Zeiger auf den Anfang der Zeichenkette.

    so vielleicht:
    a.FORMAT("Blabla %s", *b);

    Bin mir nicht sicher
    Aber mir fällt nichts anderes ein, da die Syntax korrekt ist.

    ciao
    romy

    --
    DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
    sh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[
    Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
    Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
    1. Hallo Romy,

      wie bringe ich ein char *, dass ich aus einer funktion bekomme, in einen cstring?

      Dabei kann ich dir leider nicht helfen. Aber die Online-Doku von MS ist recht
      gut, da kannst du das sicher nachlesen.

      Die Sprache heisst MFC

      Die Sprache heisst natuerlich C++. Die MFC sind nur, wie der Name schon sagt,
      Klassen-Bibliotheken.

      Ich denke der Absturz ist darauf zurückzuführen, dass Du den Zeiger nicht
      korrekt angibst.

      Doch, genau das tut er. Allerdings kann es sein, dass die Zeichenkette nicht
      0-terminiert ist oder auf einen falschen Speicherbereich zeigt oder ein
      NULL-Pointer ist. Das muss man eben durch (muehsames) debuggen herausfinden.

      b enthält nur den Zeiger auf den Anfang der Zeichenkette.

      Das ist auch voellig korrekt so.

      so vielleicht:
      a.FORMAT("Blabla %s", *b);

      Nein. Damit uebergibst du ein char, kein char *, was die Formatangabe %s eher
      vermuten laesst.

      Aber mir fällt nichts anderes ein, da die Syntax korrekt ist.

      Syntax korrekt != Logik korrekt :)

      Gruesse,
       CK