Visual C++ Strings

Hey,

ich hab mal ganz einfach Fragen von einem Anfänger.
Ich habe bisher viel in VB6 programmiert und wollt mich nun ein bischen an C++ wagen. Muss ich zwangsläufig wegen Berufsschule etc. =)

Aber ich möchte das ja auch persönlich. Ich habe in VB einen Chat geschrieben und möchte das ganze nun in C++ nachbauen.
Klingt natürlich für den Anfang etwas übertrieben, aber ich weiß aus Erfahrung, dass ich motivierter an die Sache gehe, wenn ich ein Ziel vor Augen habe. Wie auch immer.

Ich hab mir mal die Visual C++ Express Edition geholt (wahrscheinlich rümpfen jetzt alle die Nase aber egal).
Die optische Programmierung etc geht ja auch einfach von der Hand und auch die Sockets hab ich dank guten Tutorials im Griff.
Aber dann scheitere ich wiederum an so einfach Dingen wie Strings.
Wenn ich zB etwas aus einer Textbox auslese hab ich den Datentyp
System::String^.
Für eine Funktion brauch ich aber char, also nen char array.
Diese Umwandlung bekomme ich nicht auf die Reihe.

Meine Frage daher, wie wird in C++ vernünftig mit Strings gearbeitet?
Wie doof sich das auch anhört, aber vielleicht erbarmt sich ja wer und erklärt mir das ganze.
Laut dem Buch was ich lese gibt es da ja die CStrings und die Klasse String.

Gibts irgendwo ein Tutorial mit einfachen Umwandlungen etc?
Wahrscheinlich seh ich grad den Wald vor lauter Bäumen nicht.

MfG

Hallo Hendrik,

Aber dann scheitere ich wiederum an so einfach Dingen wie
Strings.
Wenn ich zB etwas aus einer Textbox auslese hab ich den
Datentyp
System::String^.
Für eine Funktion brauch ich aber char, also nen char array.
Diese Umwandlung bekomme ich nicht auf die Reihe.

Den char-Zeiger kriegst Du entweder mit einem Typecast:

void foo (CString s, CString \*strZeiger)
 {
 char \*vonWert = (const char\*)s; 
 // bzw. mit Indirektion auf den Wert des Zeigers mit \*:
 char \*vonZeiger = (const char\*)\*strZeiger;
 }

oder es gibt, wie bei den std::string’s, eine Funktion dafür:

void foo (std::string s, std::string \*strZeiger)
 {
 char \*vonWert = s.c\_str(); 
 char \*vonZeiger = strZeiger-\>c\_str();
 }

Andere String-Klassen können nun eine Get-Funktion haben, die irgendwie anders benannt ist. Bei den System::String’s wird es wohl ähnlich sein. Ich hoffe, das hilft.

lg
Martin B

Danke schonmal für die Antwort.

Eine Frage, welche Strings werde denn nun standardmäßig verwendet und was muss ich includen dafür?
CStrings ? Strings?
oder ist das dasselbe?

Mfg