000
22.05.2006, 17:51 Uhr
~Theresa
Gast
|
Hallo zusammen, habe folgendes Problem: Ich soll aus einer txt Datei im Format:
!xxxxxxxxxxxxxxxx
22.3 !xxxxxxxxxx 22 !xxxxxxxxxx 0.5 !xxxxxxxxxx
aus der ich nur die Zahlenwerte in mein C Programm lesen möchte. Bisher habe ich folgendes:
C++: |
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX1 50 #define ZEILENLAENGE 80
void main() { int resultat, i=0; FILE*fi; char datenfile[]= "C:\\fahrzeugdatenfile.txt"; char zeile[ZEILENLAENGE]; char input[ZEILENLAENGE], buffer[MAX1][MAX1],help[MAX1];
fi = fopen(datenfile,"r"); if (fi == NULL) printf("\n no input file found, please check datenfile \n\n"); while(!feof(fi)) { i++; fgets(zeile, ZEILENLAENGE, fi); resultat = sscanf(zeile, "%s %lf ", &input); switch (zeile[0]) { case '!': fgets(zeile, ZEILENLAENGE, fi) == "\n"; i-=1; continue; case '*': fgets(zeile, ZEILENLAENGE, fi) == "\n"; i-=1; continue; case '#': fgets(zeile, ZEILENLAENGE, fi) == "\n"; i-=1; continue; case '%': fgets(zeile, ZEILENLAENGE, fi) == "\n"; i-=1; continue; case ' ': fgets(zeile, ZEILENLAENGE, fi) == "\n"; i-=1; continue; } strcpy(help, input); printf("\n\n\ input innerhalb for-Schleife= %s i = %d",input, i); printf("\n\n\ zeile innerhalb for-Schleife= %s ",zeile); printf("\n\n\ help innerhalb for-Schleife= %s ",help); } printf("\n\n\ input nach for-Schleife = ",input); printf("\n\n\ help nach for-Schleife= %s ",help); }
|
Ich kann jetzt die Zeilen nach meinen Wünschen auslesen. Ich bekomme es einfach nicht hin innherhalb der while-Schleife mir meine DAten aus dem Einlesefile in einen Array zu speichern, den ich auch noch im Hauptprogramm ansprechen kann. Die Hilfsvariable i habe ich mir angelegt um nachher meine Daten entsprechend im Array ablegen zu können.
Ach ja nochwas: Nach der try&error Methode bin ich bei der switch-case Anweisung vorgegangen, ist der entsprechende case = 1 möchte ich dem fgets Befehl mitteilen dass er in die nächste ZEile springen soll mit fgets(...) == "\n", das funktioniert auch nur bringt er mir eine Warnmeldung ob ich statt "==" nicht "=" meine, ersetze ich "==" durch "=" kommt eine Fehlermeldung. |