String Aufteilen wie in PHP mit Explode
-
Guten Abend liebe C++ Gemeinde,
Mein Problem ist folgendes: Ich suche eine Funktion ähnlich der Explode Funktion aus php
Zur Erklärung ich habe Zeilenweise Datensätze welche durch ein " " (Leerzeichen) getrennt werden
pro Zeile können sich 3 - X Datensätze verbergen...Meine bisherige vorgehensweise: (Beispiel)
AnsiString Data[4]; AnsiString Input; Input = Input.SubString(Input.Pos(" "),Input.Length()).Trim(); Data[0] = StrToFloat(Input.SubString(1,Input.Pos(" ")).Trim()); Input = Input.SubString(Input.Pos(" "),Input.Length()).Trim(); Data[1] = StrToFloat(Input.SubString(1,Input.Pos(" ")).Trim()); Input = Input.SubString(Input.Pos(" "),Input.Length()).Trim(); if (Input.Pos(" ")==0) { Data[2] =StrToFloat(Input.SubString(1,Input.Length()).Trim()); Data[3] =Data[2]; Anzahl = 3; } else { Data[2] = StrToFloat(Input.SubString(1,Input.Pos(" ")).Trim()); Input = Input.SubString(Input.Pos(" "),Input.Length()).Trim(); Data[3] = StrToFloat(Input.SubString(1,Input.Length()).Trim()); Anzahl = 4; } //Weiterverarbeitung der Daten aus dem AnsiString array Data
nur je mehr Datensätze pro Zeile ausgelesen werden müssen desto mehr if / else abfragen müsste ich
dem ganzen hinzufügen ich selber bin jetzt nicht der C++ Guru aber mir fällt spontan auch nichts
besseres ein vlt. hat ja jemand einen besseren Lösungsvorschlag für michBis Dahin,
AlphaDog
-
Hallo
Das Thema wurde hier im Forum schon oft behandelt, einfach mal nach *explode* suchen. Dann findest du z.B. das hier.
bis bald
akari