Du mußt mit getlength/getbuffer etc. die Daten rausfummeln. (Cstring Help)
so einfach "=" geht da nicht.
Hallo ich programmiere gerade ein Programm mit Visual C++
Ich möchte eine Zeichenkette die in einer Variablen vom Typ Cstring einem char [] zuweisen. Der Compiler nölt aber.
Zur Verdeutlichung
char sBuf[] = m_tosend;
m_tosend ist eine Variable vom Typ Cstring.
Compilermeldung:
error C2440: 'initializing' : 'class CString' kann nicht in 'char []' konvertiert werden
Gibt es eine Möglichkeit wie ich das realisieren kann?
Bin für jede Hilfe dankbar
gruß ceekay \/
Du mußt mit getlength/getbuffer etc. die Daten rausfummeln. (Cstring Help)
so einfach "=" geht da nicht.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
CString m_tosend;
char sBuf* = new char[m_tosend.GetLenth()+1];
strcpy(sBuf,m_tosend.operator LPCSTR());
jetzt steht dein CString im sBuff.
Ok in einer Uni Code an wendung geht es nicht.
Gruß
PS: Ist auf dem Kopf getipp also noch mal genau den syntax prüfen.
P: Meine Tochter (06.11.07) und https://www.carnine.de
M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken
Vielen Dank erstmal. Funktioniert super:
Aus einem anderen Forum hab ich die Lösung:
char sBuf[255];
_tcscpy(sBuf,m_tosend);
Also nochmal vielen Dank für die schnelle Hilfe
gruß ceekay \/
Die Visual Studio Help ist Dein Freund. CString hat dafür eine Methode, die den Pointer auf das char Array zurück gibt. Dann kannst Du Dir in vielen Fällen das Kopieren sparen.
Ich glaub dir gerne das ich sowas in der Hilfe finden würde. Für einen Anfänger ist es nicht immer ganz einfach das passende zu finden was man sucht.
gruß ceekay \/
Die Methode GetBuffer liefert dir sogar einen einen String (char*) den du verändern kannst!
GetBuffer ist mit vorsicht zu geniessen wie die anderen Funktion auch.
den Der CString hat ref Zaehler wegen dem frei geben und so.
Und der CString ist dann auch für "normale" Cstring funktionen gesperrt.
Wenn du GetBuffer nimmst muß du dem CString auch sagen wann du Fertig bist. die Funktion weiß ich aber jetzt gerade nicht im Kopf.
Die optimale Funktion findet man wohl nur wenn genau weiß was andere machen will und sein Stil ein bissle kennt.
Klar steht viel in der Hilfe aber ich finde machmal einfach zu viel.
Gruß
P: Meine Tochter (06.11.07) und https://www.carnine.de
M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken
Genau!
Mit "CString::ReleaseBuffer" sagst du dem CString, dass du fertig bist.
mfg
Lesezeichen