probleme mit sscanf
-
Hallo,
ich befürchte das ist eine dämliche Frage.
Ich habe eine Datei aus der lese ich zeilenweise Daten in ein char-Array. Aus dem cArray möchte ich jetzt bestimmte Werte in Variablen einlesen.
Dazu wollte ich sscanf verwenden. Eine Zeile aus der Datei sieht bspw. so aus:sphere {<1.96,-0.44,0.35>,rC texture{C_tex}}
Ich möchte nun mit folgender Codezeile die Zahlen auslesen:
sscanf(zeile, "< %f , %f , %f >", &mittelpunkt[0], &mittelpunkt[1], &mittelpunkt[2]);
Die Ausgabe zeigt mir aber, dass in mittelpunkt[] immer nur die Initialisierungsnull drin ist. sscanf liefert auch den Wert 0 zurück. Es liest also nichts aus dem char-Array in die Variablen.
Ich befürchte ich übersehe, was total simples.
Wäre euch trotzdem für Hilfe dankbar.
gruß seb
-
Hallo, so simpel ist das im Prinzip schon aber nur mit einem Parser.
Mach doch folgendes:
1. Lese die Datei Zeilenweise aus
2. Schreib dir ne Funktion die die Zeile auseinander fieselt.das wars
-
Danke,
hatte was übersehen. Ich musste der Funktion noch mitteilen, dass vor dem Formatierungszeichen noch etwas steht, sonst erkennt die Funktion nicht, dass da überhaupt Zahlen drin sind.
So funktioniert es dann doch:sscanf(zeile, "%*s < %f , %f , %f >", mp[0], mp[1], mp[2])
Mit dem *-Operator wird der Teil vor dem < zwar erkannt, aber einfach ignoriert.
Nochmal danke.
Gruß seb.