C# Mittelschweres Problem mit Strukturen

  • Und zwar habe ich folgendes Problem. Ich möchte aus einer datei die unser lehrer uns vorgegeben hat und einer struktur von ihm werte zunächst erstmal ausgeben lassen. Doch dabei stoße ich auf einen seltsamen Fehler. Und zwar gibt er immer einen Anfangsbuchstaben weniger aus als wie am Anfang der Stadtname hatte. Ich vermute irgendwas bei der bytekodierung verschiebt sich ich blicke aber nach 3h immernoch nicht da durch. vlt könnt ihr mir ja helfen.


    C++:
    #include <stdio.h>
    #include <conio.h>


    struct __attribute__((packed)) Satz {
    char ort[11];
    float temp[30];
    short niederschalg[30];
    short luftdruck[30];
    float luftfeuchte[30];
    }adr;


    int main() {
    FILE *Dateiptr;
    int i=1;
    char *ausdatei= "Wetter.dat";


    if (!(Dateiptr = fopen(ausdatei,"rb")))
    {
    printf("Fehler beim Oeffnen der Datei %s!\n", ausdatei);
    getch();
    return(-1);
    }
    else
    while (fread(&adr, sizeof(adr),1, Dateiptr) == 1)
    {
    printf("Datei-Eintrag Nr.%d",i++);
    printf("\nName: \t\t%s",adr.ort);
    printf("\nTemperatur: \t\t%f",adr.temp[1]);
    printf("\nNiederschlag: \t\t%i",adr.niederschalg[1]);
    printf("\nLuftdruck: \t\t%i",adr.luftdruck[1]);
    printf("\nLuftfeuchte: \t\t%i",adr.luftfeuchte[1]);
    getch();
    }
    fclose(Dateiptr);
    return(0);
    }


    Ausgabe


    Code:
    Datei-Eintrag Nr.1
    Name: Leipzig
    Temperatur: 228075543727344900000000.000000
    Niederschlag: 0
    Luftdruck: 259
    Luftfeuchte: 0Datei-Eintrag Nr.2
    Name: alle <--Sollte Halle sein
    Temperatur: -0.000000
    Niederschlag: 3
    Luftdruck: 776
    Luftfeuchte: 536870912Datei-Eintrag Nr.3
    Name: rlin <--Sollte Berlin sein
    Temperatur: 461172594444337150.000000
    Niederschlag: 0
    Luftdruck: 5123
    Luftfeuchte: 1073741824Datei-Eintrag Nr.4
    Name: tock <--Sollte Rostock sein
    Temperatur: 14.200000
    Niederschlag: 1
    Luftdruck: 776
    Luftfeuchte: 1073741824Datei-Eintrag Nr.5
    Name: erin <--Sollte Schwerin sein
    Temperatur: 0.000000
    Niederschlag: 0
    Luftdruck: 3331
    Luftfeuchte: 536870912
    Process returned 0 (0x0) execution time : 11.516 s
    Press any key to continue.


    Inhalt der .dat


    Code:
    Ort: Leipzig
    Temperatur: 12.500000, 11.000000, 13.400000, 9.500000, 9.500000, 12.300000, 13.400000, 13.000000, 13.500000, 14.000000, 17.799999, 18.000000, 20.000000, 21.400000, 21.000000, 19.200001, 14.600000, 15.800000, 14.700000, 14.900000, 15.300000, 15.200000, 15.000000, 18.299999, 19.900000, 21.000000, 22.000000, 21.299999, 20.900000, 4.000000
    Niederschlag: 5, 6, 0, 0, 0, 0, 2, 2, 23, 27, 13, 2, 0, 0, 34, 0, 0, 2, 15, 35, 12, 2, 2, 3, 0, 0, 2, 7, 2, 35
    Luftfeuchte: 57.799999, 63.500000, 40.900002, 42.700001, 43.700001, 45.799999, 47.200001, 46.299999, 65.900002, 73.400002, 59.889999, 43.220001, 39.990002, 40.000000, 69.300003, 51.560001, 34.340000, 38.299999, 58.000000, 73.040001, 62.980000, 54.299999, 49.230000, 47.200001, 49.000000, 36.459999, 37.000000, 51.779999, 46.389999, 65.599998

    Ort: Halle
    Temperatur: 13.700000, 12.200000, 14.600000, 10.700000, 10.700000, 13.500000, 14.600000, 14.200000, 14.700000, 15.200000, 19.000000, 19.200001, 21.200001, 22.600000, 22.200001, 20.400000, 15.800000, 17.000000, 15.900000, 16.100000, 16.500000, 16.400000, 16.200001, 19.500000, 21.100000, 22.200001, 23.200001, 22.500000, 22.100000, 14.000000
    Niederschlag: 8, 9, 3, 3, 3, 3, 5, 5, 26, 30, 16, 5, 3, 3, 37, 3, 3, 5, 18, 38, 15, 5, 5, 6, 3, 3, 5, 10, 5, 38
    Luftfeuchte: 62.799999, 68.500000, 45.900002, 47.700001, 48.700001, 50.799999, 52.200001, 51.299999, 70.900002, 78.400002, 64.889999, 48.220001, 44.990002, 45.000000, 74.300003, 56.560001, 39.340000, 43.299999, 63.000000, 78.040001, 67.980003, 59.299999, 54.230000, 52.200001, 54.000000, 41.459999, 42.000000, 56.779999, 51.389999, 39.549999

    Ort: Berlin
    Temperatur: 12.900000, 11.400000, 13.800000, 9.900000, 9.900000, 12.700000, 13.800000, 13.400000, 13.900000, 14.400000, 18.200001, 18.400000, 20.400000, 21.799999, 21.400000, 19.600000, 15.000000, 16.200001, 15.100000, 15.300000, 15.700000, 15.600000, 15.400000, 18.700001, 20.299999, 21.400000, 22.400000, 21.700001, 21.299999, 23.000000
    Niederschlag: 5, 6, 0, 0, 0, 0, 2, 2, 23, 27, 13, 2, 0, 0, 34, 0, 0, 2, 15, 35, 12, 2, 2, 3, 0, 0, 2, 7, 2, 35
    Luftfeuchte: 64.800003, 70.500000, 47.900002, 49.700001, 50.700001, 52.799999, 54.200001, 53.299999, 72.900002, 80.400002, 66.889999, 50.220001, 46.990002, 47.000000, 76.300003, 58.560001, 41.340000, 45.299999, 65.000000, 80.040001, 69.980003, 61.299999, 56.230000, 54.200001, 56.000000, 43.459999, 44.000000, 58.779999, 53.389999, 72.669998

    Ort: Rostock
    Temperatur: 13.300000, 11.800000, 14.200000, 10.300000, 10.300000, 13.100000, 14.200000, 13.800000, 14.300000, 14.800000, 18.600000, 18.799999, 20.799999, 22.200001, 21.799999, 20.000000, 15.400000, 16.600000, 15.500000, 15.700000, 16.100000, 16.000000, 15.800000, 19.100000, 20.700001, 21.799999, 22.799999, 22.100000, 21.700001, 16.000000
    Niederschlag: 6, 7, 1, 1, 1, 1, 3, 3, 24, 28, 14, 3, 1, 1, 35, 1, 1, 3, 16, 36, 13, 3, 3, 4, 1, 1, 3, 8, 3, 36
    Luftfeuchte: 61.799999, 67.500000, 44.900002, 46.700001, 47.700001, 49.799999, 51.200001, 50.299999, 69.900002, 77.400002, 63.889999, 47.220001, 43.990002, 44.000000, 73.300003, 55.560001, 38.340000, 42.299999, 62.000000, 77.040001, 66.980003, 58.299999, 53.230000, 51.200001, 53.000000, 40.459999, 41.000000, 55.779999, 50.389999, 68.669998

    Ort: Schwerin
    Temperatur: 12.500000, 11.000000, 13.400000, 9.500000, 9.500000, 12.300000, 13.400000, 13.000000, 13.500000, 14.000000, 17.799999, 18.000000, 20.000000, 21.400000, 21.000000, 19.200001, 14.600000, 15.800000, 14.700000, 14.900000, 15.300000, 15.200000, 15.000000, 18.299999, 19.900000, 21.000000, 22.000000, 21.299999, 20.900000, 12.000000
    Niederschlag: 5, 6, 0, 0, 0, 0, 2, 2, 23, 27, 13, 2, 0, 0, 34, 0, 0, 2, 15, 35, 12, 2, 2, 3, 0, 0, 2, 7, 2, 35
    Luftfeuchte: 57.799999, 63.500000, 40.900002, 42.700001, 43.700001, 45.799999, 47.200001, 46.299999, 65.900002, 73.400002, 59.889999, 43.220001, 39.990002, 40.000000, 69.300003, 51.560001, 34.340000, 38.299999, 58.000000, 73.040001, 62.980000, 54.299999, 49.230000, 47.200001, 49.000000, 36.459999, 37.000000, 51.779999, 46.389999, 63.669998

    Ort: Cottbus
    Temperatur: 14.900000, 13.400000, 15.800000, 11.900000, 11.900000, 14.700000, 15.800000, 15.400000, 15.900000, 16.400000, 20.200001, 20.400000, 22.400000, 23.799999, 23.400000, 21.600000, 17.000000, 18.200001, 17.100000, 17.299999, 17.700001, 17.600000, 17.400000, 20.700001, 22.299999, 23.400000, 24.400000, 23.700001, 23.299999, 4.000000
    Niederschlag: 9, 10, 4, 4, 4, 4, 6, 6, 27, 31, 17, 6, 4, 4, 38, 4, 4, 6, 19, 39, 16, 6, 6, 7, 4, 4, 6, 11, 6, 39
    Luftfeuchte: 66.800003, 72.500000, 49.900002, 51.700001, 52.700001, 54.799999, 56.200001, 55.299999, 74.900002, 82.400002, 68.889999, 52.220001, 48.990002, 49.000000, 78.300003, 60.560001, 43.340000, 47.299999, 67.000000, 82.040001, 71.980003, 63.299999, 58.230000, 56.200001, 58.000000, 45.459999, 46.000000, 60.779999, 55.389999, 68.230003


    Würde mich über jede hilfe sehr freuen.

    8|

  • Dieses Thema enthält einen weiteren Beitrag, der nur für registrierte Benutzer sichtbar ist, bitte registrieren Sie sich oder melden Sie sich an um diesen lesen zu können.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!