Gibt es eine Möglichkeit...
-
ein logfile mit der syntax:
01;name;vorname;alter;geschlecht;gebDte
einfach auszulesen dass man dann einen bestimmten eintrag finden kann (schnell)
Ich dachte da an eine funktion die mir die einzelnen parameter gleich in ein array stopft oder so??geht das oder wie würdet ihr das machen?
herzlichen D.
l00P
-
Also, ich würde die Datei zeilenweise einlesen und jede Zeile durch eine Funktion jagen, die aus einem CString ein CStringArray macht, indem sie an dem gewünschten Zeichen zerlegt.
Ist nicht so schwer, hatte ich schon mal gebastelt. Quelltext ist leider futsch. (Grummel, in PHP ist sowas schon eingebaut.)
-
ja ich weiß ich vermisse viele funktionen die in php dabei sind...Um dieses "zerlegen" geht´s mir ja gerade. Keine ahnung wie das gehen soll, ich kann ja nicht jedes zeichen nach einem ";" durchsuchen oder?
-
enum enGeschlecht = {frau, mann}; struct tagEntry { int iNumber; CString strName; CString strVorName; int iAlter; enGeschlecht eGeschlecht; CString strGebDate; }; // Kann auch eine Klasse sein void ReadFile(CString &strFile, CList<tagEntry> &list) { CStdioFile file; CStringList strList; CStrting strHelp; // Datei einlesen if(file.Open(strFile, CFile::modeRead)) { file.ReadString(strHelp); strList.AddTail(strHelp); } file.Close(); for(POSITION pos = strList.GetHeadPosition(); pos != NULL;) { strHelp = strList.GetNext(pos); CString strHelp2 = strHelp.Left(strHelp.Find(';')); tagEntry entry; entry.iNummer = atoi(strHelp2); strHelp.Delete(strHelp.Find(';')+1);// das ';' soll ja mitgelöscht werden // Rest auslesen [EDIT] list.AddTail(entry); [/EDIT] } }Ich hoffe es sind nicht zu viele Schreibfehler darin, ich konnte es nicht testen.
MFG
Kai
-
@KaiE: Danke für dein posting, werd ich so verwenden aber ich verstehe nicht warum du der funktion Read ein CList Objekt übergibst, was steht da drinnen??
Ich kenne mich nicht aus mir CList...danke
-
du meinst das
void ReadFile(CString &strFile, CList<tagEntry> &list)die Liste dient dazu alle Einträge zu halten. Wenn du einen Suchst, kannst du das entsprechend modifizieren.
MFG
Kai
-
ah ich verstsehe, da ist die liste auch außerhalb der function noch da.
Bei mir mäckert der compiler bei CList<tagEntry> list; "To few parameters for template" ???
weißt du was da ist?
-
nicht
CList<tagEntry>sondern
CList<tagEntry, tagEntry&>
mein Fehler.
MFG
Kai
-
aha danke

sehe ich das richtig das eine clist immer wie ein normales array aussieht(also nicht mehrdimensional) und das ich mit jedem aufruf das list objekt in ein array speichern muß???Herzlichen Dank
l00P
-
l00P schrieb:
... und das ich mit jedem aufruf das list objekt in ein array speichern muß???
l00PDas verstehe ich jetzt nicht ganz. Du kannst mir aber auch ein Mail schreiben oder über ICQ Fragen.
MFG
Kai