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 einlesen

    aber wie weiß ich leider nicht





  • 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----


Anmelden zum Antworten