C C: Speichern von Werten einer Textfile in Hauptspeicherzelle

Domi95

Newbie
Registriert
Aug. 2009
Beiträge
3
Hey,

ich versuche mit einem C-Rahmen-Programm Zeilen aus einer Textfile auszulesen, um sie in ein Hauptspeicherfeld zu schreiben, welches für die weitere Berechnung an ein Assemblerprogramm übergeben wird.

Im folgenden ein paar Code-Zeilen bei denen ich mir unsicher bin:

Code:
if(sscanf(line,"%f  mm  %f  mm", 
	  &data1[linesread], &data2[linesread]) != 2)
	{
	    fprintf(stderr, "Error in line: %s\n",line);
	    fprintf(stderr, "Aborted.");
	    break;
	}

Da ich das C-Rahmenprogramm nicht selber geschrieben habe, verstehe ich nicht so wirklich wie die Werte in meiner Textfile formatiert seien müssen damit sie korrekt eingelesen werden können.
Ich verstehe nicht was "%f mm %f mm" in sscanf für eine Formatierung erzwingt.

Wenn ich in meine Textfile zum Beispiel in die erste Zeile: 5.0 2.0 schreibe, dann bekomm ich immer den Fehler:
Code:
Read: 5.0 2.0
Error in line: 5.0 2.0

Aborted.

Ich hoffe Ihr könnt mir da weiterhelfen, vielen Dank schonmal!
 
Laut dem hier müssen die "mm" aus dem Format-String auch in der Zeile vorkommen, die Leerzeichen jedoch nicht. Will heißen, dass ein String wie
Code:
1.0mm 2.0mm
gültig ist - sogar mit beliebig vielen Leerzeichen dazwischen (auch ohne), denn sscanf ignoriert diese.
 
Ich würde dringend raten, zu prüfen, ob das Programm immer noch funktioniert, wenn die einzulesende Zahl mehr Stellen hat als erwartet. Zum Beispiel so zehn Milliarden Ziffern. Und wenn es tatsächlich funktionieren sollte, beten, dass es niemals mehr irgendwoanders eingesetzt wird.
 
Zuletzt bearbeitet:
Zurück
Oben