Einlesen von Koordinaten



  • Hallo Leute,

    ich möchte Koordinaten einlesen. Dazu habe ich folgenden Code geschrieben:

    int akt_Koordinate;

    FILE *Datei_Polygon;
    Datei_Polygon = fopen("Test2.txt","r+t");

    if(NULL == Datei_Polygon)
    {
    printf("Konnte Datei \"test.txt\" nicht öffnen!\n");
    }

    while(!feof(Datei_Polygon))
    {

    fread(&akt_Koordinate,sizeof(int), 1, Datei_Polygon);
    }

    Die Koordinatendatei sieht ca. so aus

    12 343
    32 323

    usw.

    Leider liest mir die Funktion "fread" irgendwelche Phantomwerte aus.

    z.B.

    857748017
    856306484
    ...
    Gleiches Spiel, wenn ich akt_Koordinate als double festlege.

    Nur wenn ich alt_Koordinate als char festlege bekomme ich die richtige Zahl, allerdings eben nur die eine Stelle. Was mache ich falsch? 😕



  • Liegt wohl daran, dass du in deiner Datei die Zahlen als
    ASCII-Zeichen gespeichert hast.

    fread liest jedoch Binärwerte aus der Datei.

    Mit fscanf() solltest du weiterkommen

    mfg
    Martin



  • Danke! 😃


Anmelden zum Antworten