CString trennen
-
Ich lese meine Dateien erst in ein CString ein und möchte es dann trennen. CString[0], CString[1],... . In PHP geht das sehr einfach. Da gibt es den Befehl >array=explode("trennzeichen",String);<
Frage: geht das nicht irgendwie einfacher, und vor allem mit mehr als einem Zeichen?
Bei mir habe ich es bis jetzt nur mit einem Zeichen herausgefunden:
Globale Definition:CString arraydata[200]; //Zur Arraytrennun int arraydatalen=0;
Dann Aufruf über eine Funktion die den String trennen soll.
void CGBlaBla::lesen { ... char d='§'; GetArray(str,d); ... }
void CGBlaBla::GetArray(CString str, char tz) { CString wort="",txt; int zanz=0,i; int lenght = str.GetLength(); char zeichen; arraydatalen=0; //Länge des globalen Arrays auf 0 for (i=0; i<lenght; i++) { zeichen = str.GetAt(i); if (zeichen!=tz && zeichen!='\n' && zeichen!='\r' && zeichen!='\n\r') { wort=wort+zeichen; } else { arraydata[arraydatalen]=wort; //AfxMessageBox(wort); arraydatalen++; wort=""; } } }
[ Dieser Beitrag wurde am 27.01.2003 um 20:13 Uhr von hronny editiert. ]
-
Ehm die Klasse CString hat auch eine Funktion namens Find(...)
-
Und wie trennt man damit?
-
Schau mal in die FAQ.
CString::find
CString::mid
CString::Left
CString::RightDevil
-
Und außerdem gibts doch die Klasse CStringArray. Das bietet sich doch auch an.
Zu CString::Find : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcemfc/htm/cstring_8.asp Zu CString::Left : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcemfc/htm/cstring_19.asp Zu CString::Right : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcemfc/htm/cstring_30.asp
Ciao
Stalin
-
-
Und die undokumentierte Funktion AFxExtractSubString() ist auch sehr hilfreich. Die benütze ich.