Zeilenweises auslesen einer Datei



  • Ich möchte eine Datei in dem Format:

    12
    13
    14
    15

    Zeilenweise auslesen und die Daten in ein Array speichern.
    Doch leider funktioniert das bei mir nicht ganz.
    Mit openfile öffne ich die Datei zum Lesen und übergebe den Filepointer als Funktionswert.

    vielen Dank im voraus

    # include <stdio.h>
    # include <openfile.c>
    
    int main()
    {
    FILE * dat;
    char wort[82];
    char x[1000];
    int c, i, n;
    
    n = 0;
    
    dat = openfile("Datei: ",1);
    
    do {
          fgets(wort,82,dat);
          for (i = 0; i < 1000; ++i)
             if ((c = getc(dat)) >= '0' && (c = getc(dat)) <= '9'){
                x[i] = c;
                n++;
             }
       }while(!feof(dat));
    
       for (i = 0; i <= n; ++i)
          printf( "x %d : %d\n", i, x[i]);
    
       return 0;
    }
    


  • Probier mal

    //Vereinbarung
    char *dateiname="C:\blah.txt";
    FILE *datei;
    t_satz satz;
    //Lesen
    datei = fopen(dateiname,"rb") //rb für modus read binary
    Assert((datei!=NULL),"Datei nicht vorhanden");
    while (fread(&satz,sizeof(t_satz),1,datei)==1)
    {
    copy(ziel,quelle)
    }
    
    fclose(datei);
    

Anmelden zum Antworten