Daten aus Datei "filtern"
-
Hallo,
ich arbeite gerade an einem kleinen Tool für ein Computer Spiel. Aber dazu muss ich Daten aus einer wohl merh oder weniger verschlüsselten Datei filter. Meine Datei sieht momentan so aus:x ¢ TRIGSTR_020 TRIGSTR_023 TRIGSTR_022 TRIGSTR_021 ÀÅ ÌÅ ÀE ÄE ÀÅ ÄE ÀE ÌÅ
h h Ü Lÿÿÿÿ zD úE ÿ ÿÿÿÿ TRIGSTR_010 Å E TRIGSTR_011 ¨E Å TRIGSTR_012 $E ¤Å TRIGSTR_013 ¤Å ÈD ÿÿÿÿTRIGSTR_014 TRIGSTR_015 TRIGSTR_016 TRIGSTR_017 TRIGSTR_018 TRIGSTR_019Die "TRIGSTR", oder eher die danach folgende Nummer, geben die Adresse eines Strings in einer anderen Datei an.
TRIGSTR_020 wäre z.B. die Adresse es Map-Names (Map = Level). Aber die Nummern hinter den "TRIGSTR" sind nicht immer gleich sonder variieren von Map zu Map. Die Adresse des Map-Names ist also nicht immer "TRIGSTR_020" sonder könnte auch z.B. "TRIGSTR_011" sein.#-------------------------------------------------------------------------------
So nach meiner etwas langen Einleitung zu meinem Eigentliche Problem:
Ich will wahl weise die einzelnen "TRIGSTR"'s herrausfiltern und in einer Variable speichern. Ich denk zuerst müsste man mal die ganzen anderen Zeichen, die irgentwie keinen Sinn machen, entfernen. Vielleicht gibt es bei C++ eine ähnliche Funktion wie bei Php, splitt() heißt die glaube ich, damit kann man Strings nach einem bestimmten Zeichen, wie einem Leerzeichen, trennen.
Ich hoffe ihr könnt mir beim lösen dieses doch sehr umfangreichen Problems helfen..:DarkLord
-
da gibt's mehrere möglichkeiten z.b. 'string::find()'. musst natürlich sicherstellen, dass keine nullen in der datei sind. auch mit irgendwelchen komischen sonderzeichen könnte es probleme geben bei solchen funktionen. was soll der schrott überhaupt in dem file?
-
Dieser Thread wurde von Moderator/in cd9000 aus dem Forum WinAPI in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Du kannst dir entweder mal die C-Funktion strtok ansehen,
oder du guckst mal auf folgende Seite:http://www.rgbnet.de/RGBnet/lib.php?rid=UXVlbGxjb2RlczpDL0MrKw==
Dort findest du u.A. 2 Klassen, String und StringTokenizer. Letztere basiert auf ersterer. Die beiden Klassen bieten Vorteile im Funktionsumfang und einfacher Handhabung. Aber strtok würde auch reichen.
-
net schrieb:
da gibt's mehrere möglichkeiten z.b. 'string::find()'. musst natürlich sicherstellen, dass keine nullen in der datei sind. auch mit irgendwelchen komischen sonderzeichen könnte es probleme geben bei solchen funktionen. was soll der schrott überhaupt in dem file?
Keine Ahnung was die Zeichen datrin soll. Da müsste man mal die Programmierer von Blizzard fragen, die haben die File-Codierung schließlich erfunden. Warscheinlich gibt das nur einen sinn wenn man es sich in Hex ansieht. Aber was ich schonmal, von nem anderen Programmierer gehört, und auch selbst nach test bestätigen kann, ist dass diese Zeichen die Datei in verschiedene Abschnitte einteilen.
Ich werd mir mal die Klassen ansehen, vielleicht finde ich ja eine Funktion die mir da helfen könnte.