ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
7831
7831
EMPFEHLEN
-
Ich bins mal wieder - nachdem ich dank Euch und meiner Bücher schon um einiges tiefer in C++ tauchen kann, hänge ich mal wieder fest.

Ich bekomme aus einer Anweisung einen 64stelligen char (eigentlich ja 65, da NULL-terminiert). Diesen möchte ich jetzt in einen CString kopieren. Und da ich diesen char n-tausend mal einlese, muss der aktuelle char immer schön hinten dran an den CString.
Wie geht das?
ich bekomme es selbst mit einem char nicht hin, irgendwie gibt er mir, wen ich die Länge des CString wie in der MSDN beschrieben auslese, immer 0 zurück.
-
16.12.04 17:15 #2
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
[/CODE]
Was ist ein 64stelliger char? Was meinst du mit n-Tausend?Ich bekomme aus einer Anweisung einen 64stelligen char (eigentlich ja 65, da NULL-terminiert). Diesen möchte ich jetzt in einen CString kopieren. Und da ich diesen char n-tausend mal einlese, muss der aktuelle char immer schön hinten dran an den CString.
Ansonsten -- hier ein paar Möglichkeiten, chars in CStrings reinzubekommen:
Code :1 2 3 4 5 6
char buffer[] = "HALLO"; CString a( buffer ); CString b = buffer; CString c = "Tach auch."; a += '!';
Geändert von Kachelator (16.12.04 um 17:17 Uhr)
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Meinen Char habe ich so definiert:
Code :1
char input[65]="/0";
Da werden dann 64 Zeichen eingelesen und diese sollen in einen CString aneinandergereit werden, also so ungefähr:
Code :1 2 3 4 5 6 7
int i; CString a, alles; for (i=1; i<5001; i++) { //hier wird der char eingelesen, das klappt wunderbar a=input; alles += a; }
Habe ich das jetzt richtig interpretiert? Kann den Code leider erst am Montag ausprobieren, da ich das Gerät, dessen Daten ich einlesen möchte, nicht da habe und der Quellcode auch auf Arbeit liegt.
Danke.
-
16.12.04 19:16 #4
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Du kannst den Pointer auf dein char-Array einfach an den CString zuweisen. Die Schleife ist unnötig. Wichtig ist nur, das input eine abschliessende 0 hat.
Code :1
CString alles = input;
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Ich habe mein Programm jetzt so geschrieben, es klappt auch, jedenfalls gibt er mir die richtige Länge des CStrings an:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
char input[65]="/0"; int i; CString a, alles; for (i=1; i<4001; i++) // Hier wird 4000 mal der cominhalt gelesen und aneinander in eine CStrong-Variable gepackt { sprintf(buffer, "Page: %d", i); m_bytes=port.Read(cominhalt,64); // Hier wird cominhalt eingelesen m_EEPROM_Inhalt+=cominhalt; // Hier wird cominhalt an m_EEPROM_Inhalt angefügt m_status=m_EEPROM_Inhalt.GetLength(); sprintf(buffer1, "Länge: %i", m_status); SetDlgItemText(IDC_bytes,buffer1); SetDlgItemText(IDC_COM_Status,buffer); UpdateWindow(); }
Danke schön
Geändert von sTEk (20.12.04 um 17:17 Uhr)
Ähnliche Themen
-
char* into CString
Von TheTank im Forum VisualStudio & MFCAntworten: 8Letzter Beitrag: 11.10.10, 15:15 -
char* to CString
Von TheTank im Forum C/C++Antworten: 8Letzter Beitrag: 07.09.10, 15:37 -
CString zu char
Von Dipsi im Forum VisualStudio & MFCAntworten: 8Letzter Beitrag: 11.07.10, 18:40 -
'class CString' to 'char *'
Von shader09 im Forum C/C++Antworten: 1Letzter Beitrag: 26.10.07, 14:59 -
CString in char
Von napstermania im Forum VisualStudio & MFCAntworten: 3Letzter Beitrag: 18.10.04, 23:06





Zitieren
Login






