Strings verketten



  • Ich habe Probleme beim Verketten von String-Konstanten.
    zB: CString str = "abc" + "123";
    Da kommt eine Fehlermeldung: Zeiger lassen sich nicht verketten bzw addieren !



  • MFC-User schrieb:

    Ich habe Probleme beim Verketten von String-Konstanten.
    zB: CString str = "abc" + "123";
    Da kommt eine Fehlermeldung: Zeiger lassen sich nicht verketten bzw addieren !

    CString str = "abc123";
    // oder
    CString str1 = "abc" "123";
    // oder
    CString str2 = CString("abc") + "123";
    // oder
    // ...
    


  • Manchmal sind die Stringkonstanten sehr lang, so dass man sie nicht in einer
    Zeile hinschreiben kann, dann muss man sie verketten.



  • Haben dir deine Eltern nicht beigebracht dass man erstmal "Hallo" sagt?!

    CString str = "abc" + "123" ist logisch gesehen ziemlich dämlich und das erkennt der Compiler halt...

    Vielleicht solltest du dir mehr Mühe bei deiner Problembeschreibung geben. Scheinbar ist ja dein Problem, dass du den String über mehrere Zeilen aufteilen willst:

    CString str = _T("Mein Name ist MFC-User \
    				und kenne google nicht");
    

  • Mod

    Das würde ich aber auch eher so machen, je nach verwendetem Zeichensatz:

    CString str =  _T("Mein Name ist MFC-User")
                   _T("und kenne google nicht");
    CStringW strW  = L"Mein Name ist MFC-User" 
                     L"und kenne google nicht";
    CStringA strA  =  "Mein Name ist MFC-User" 
                      "und kenne google nicht";
    


  • Was auch noch geht ist:

    CString str = "abc";
          str += "123";
    

  • Mod

    .Bernhard. schrieb:

    Was auch noch geht ist:

    CString str = "abc";
          str += "123";
    

    Nö. Das geht in einem Unicode Build nicht.



  • Da hast du natürlich recht.

    Wenn Unicode ein Thema ist, greift man zu:

    CString str = _T("abc");
          str += _T("123");
    

Log in to reply