Brett vorm Kopf mit char* und CString
-
Hallo,
irgend etwas hab ich falsch bei folgender Anweisung, aber ich komm leider nicht drauf:
char* CSwave; CString test; test.Format(":source:goto %4.4f",fStartW); strcpy(CSwave,test); // The variable 'CSwave' is being used without being defined.
Hintergrund ist, das ich bei folgender Funktion:
Send(imGPIB,MOPO,CSwave ,20L,NLend);
nicht mit CString arbeiten kann.
Ich weiß, dass das glaub ich simpel ist, aber siehe Überschrift
-
char* CSwave; // <-- ein zeiger auf nen char, aber wohin zeigt er? .. strcpy(CSwave,test); // CSwave zeigt irgendwo hin, aber sicher nicht auf einen gültigen speicherblock
wie wärs mit nem new?
-
Hallo,
Du meinst so:
char *CSwave; CSwave = new char;
-
Dort weo du schreibst das du nicht mit CString arbeiten kannst kannst du aber mit CString arbeiten.
Schau dir mal die Methoden der Klasse an.
-
Hey ela. Lern bitte C++ bevor du dich mit MFC beschäftigst.
-
Hallo,
@ Unix-Tom:
Das hab ich probiert, da bekom ich immer die Meldung, das CString nicht in PVOID konvertiert werden kann.
Die Methode ist so deklariert:extern void __stdcall Send (int boardID, Addr4882_t addr, PVOID databuf, long datacnt, int eotMode);
@ danke im voraus:
Ich hab nicht umsonst die Überschrift gewählt.
-
nein, ich meinte
char *CSwave= new char[test.GetLength()+1];
-
Hi Manu,
mal so ins blaue reingeraten...
Send(imGPIB,MOPO, test.GetBuffer(),20L,NLend); test.ReleaseBuffer();
K.A.
Greez
-
@ CMatt:
Danke es funzt.@muhkuh_dd:
aber wircklich ins blaue Hinein.
Sonst alles klar bei Dir?
-
@manu
... ich hatte meinen Morgenkaffee noch nicht ...bei mir is alles bestens!
Grüß den Großen von mir!