Hallo alle zusammen, ich möchte eine Textdatei Zeile für Zeile auslesen. Leider bin ich mir nicht sicher wie ich das anstellen soll. text_test = file_open_read("test.txt"); und dann Kann mir jemand nen Ansatz liefern.
Ich komme einfach nicht weiter. file_str_read bringt mir nur die erste Zeile und file_seek startet imme nur von der Angegeben Position. Beiden gemein ist das sie immer bis zum nähsten "," oder ";" den String ausgeben. der Inhalt der Datei sieht ungefähr immer so aus: IN; PT0; PA292,204; Mein Ziel ist es nach und nach jede Zeile aus zu lesen und anhand der anthaltenen Information eine Entscheidung zu treffen. bitte erbarmt euch und helft.
Schau mal im Handbuch unter txt_load. Damit kannst du deine Textdatei in einen vorher definierten TEXT* einlesen. Danach hast du jede Zeile der Textdatei als seperaten STRING* im TEXT*. Vergiss aber vor dem einlesen nicht das Zeichen für das Zeilenende zu definieren (delimit_str).
wie ihr sehen könnt kann ich (über Umwege) an die jeweiligen Informationen ran kommen. Meine Frage ist nun wie ich denn Ausgelesenen String zerlegen kann und dann zwischen nummerisch, alphabetisch und Sonderzeichen unterscheiden kann?
Ich hab doch oben geschrieben wie ich es machen würde. Mit txt_load. Allerdings, jetzt nachdem ich gesehen habe wie deine Zeilen aussehen, funktioniert das nicht. Es sei den du könntest in die Textdatei ein Zeichen für einbauen, welches das Zeilenende markiert: IN; //zeichen_in_string = 0; Anzeige: IN;# (in dem Fall z.B. das #). Und dann delimit_str auf "#" setzen.
Eine andere Alternative wäre, die Textdatei Byte für Byte einzulesen (mit file_asc_read) und dann schauen ob ein Zeilenumbruch dabei ist. Zeilenumbrüche sind als Wert 13 und 10 (hintereinander) definiert (Hexadezimal: 0D 0A).
so kann es wirklich klappen. ist sogar noch besser als mit Zeilen. Einzige Problem ist jetzt noch die Schleife in der ich das Auslesen umsetze. Frage: wie ermittle ich das ende der Datei? ein EOF oder so etwas habe ich nicht gefunden.