formatiert aus datei lesen
-
uuuuh.
Also wenn ich in einer datei immer einen char[] einen int und ein float habe (hintereinander).
Gibt es eine Möglichkeit die in als vordefinierten typ in einen Speicherbereich einzulesen, sodass char int und float werte als solche erkannt werden?
ich weis nicht wie viele datensätze ich in der datei habe...
geht das irgendwie ganz einfach so, oder ist das ein megaaufwand? ... ich kann leider nur zeichen einlesen...
Leider habe ich keine ahnung wie ich ansetzen soll und die beschreibung von fscanf hilft mir irgendwie auch nicht weiter..
Ich könnte mir vorstellen erstmal herrausfinden zu müssen, wieviele datensätze ich von dem typ bestehend aus char[] int float ich habe...
dann einen speicher allokieren
dann irgendwie formatiert da einlesenaber wie weiß ich leider nicht
-
Schau dir mal die Funktion fscanf an.
http://www.cplusplus.com/reference/clibrary/cstdio/fscanf.html
-
Hey cool, jetzt klappt das super, war gar nicht so schwer!
Ich dachte mir das ich die anzahl der Datensetze nicht jedes mal erfrage, sondern immer als 1. wert der datei festlege...warum schreibt jedoch fprintf nicht in die datei obwohl die schleife durchlaufen wird?
die datei wird erfolgreich angelegt und ich kann auch später im programm hineinschreiben (genau so wie hier!) - warum geht das denn nicht?
int main (void){ char c='a'; int datanz=0; int n=3; FILE *fp; int i; if( (fp = fopen("NOTEN", "a+")) == NULL ){ printf("Fehler beim ?ffnen der Datei\n"); } if (fscanf(fp,"%i",&datanz)== EOF){ fprintf(fp, "%i\n",n); printf("ja"); }
-
TurboELK schrieb:
warum schreibt jedoch fprintf nicht in die datei obwohl die schleife durchlaufen wird?
Hmm.. weil du keine Schleife programmiert hast. Da steht nur eine if-Bedingung, in die höchstens einmal reingesprungen wird.
-
jo .. tschuldigung ... ich meinte natürlich obwohl in die if bedingung gesprungen wird. er schreibt trotzdem nix...
OH nein! .. ich habe die datei nicht geschlossen ...
-------------sorry, aber ich habs einfach nicht bemerkt nach einer stunde suchen----