000
05.01.2016, 14:48 Uhr
MasterZyper
|
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 ertmal 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. Dieser Post wurde am 05.01.2016 um 14:54 Uhr von MasterZyper editiert. |