String und Char? Anfängerfrage



  • Hallo zusammen,

    der Umstieg von C++ auf C++/CLI ist garnicht so leicht.

    Was ich im Augenblick brauche, sind 2 Dinge:

    1. Wie konvertiere ich ein char, Char in einen String.
    char a='a';
    g->DrawString(a.ToString(), ...) liefert immer den String "65" zurück, aber ich möchte als String das Zeichen "a" erhalten.

    2. Wie mache ich folgendes in C++/CLI?
    DasIstMeinString[3] = DasIstEinZeichen_Char;

    Schon mal Danke,
    Bernd



  • Zu 1.

    Char a = 'a';
    
    //So..
    MessageBox::Show(a.ToString());
    
    //Oder so...
    MessageBox::Show(Convert::ToString(a));
    

    Frage zwei verstehe ich nicht so wirklich...
    Gibt doch mal ein Bsp. zu zwei.



  • Zu Frage Zwei:

    In .net sind Strings immer unveränderlich.

    Das was du machen willst, geht mit StringBuilder.



  • @Doug_HH:
    Ich stelle gerade fest, daß ich ...

    [b]c[/b]har a = 'a';
    
    //So..
    MessageBox::Show(a.ToString());
    
    //Oder so...
    MessageBox::Show(Convert::ToString(a));
    

    ... verwendet habe. Also macht es doch einen Unterschied, ob ich char oder Char verwerde. Nun ja...

    @nn:
    Also doch ein Grund, weiterhin bei C++ zu bleiben, wenn es schnell gehen soll.

    Danke für Eure schnelle Hilfe.



  • wannabe_2 schrieb:

    @Doug_HH:
    Ich stelle gerade fest, daß ich ...

    [b]c[/b]har a = 'a';
    
    //So..
    MessageBox::Show(a.ToString());
    
    //Oder so...
    MessageBox::Show(Convert::ToString(a));
    

    ... verwendet habe. Also macht es doch einen Unterschied, ob ich char oder Char verwerde. Nun ja...

    Richtig. char entspricht System::Byte oder System::SByte , Char hingegen ist System::Char , was am ehesten noch einem wchar_t entspricht. Für .NET-Char-Literale verwendest du immer diese Syntax, um derartigen Problemen aus dem Weg zu gehen:

    foo = L'x';
    

    MfG


Anmelden zum Antworten