Array fängt von vorne an
-
Hallo miteinander
Hab noch ein kleines Problem, ich lese mit dieser Schleife einen Text aus einer .txt Zeichenweise aus und speichere das ganze in ein Char Array:
while( (c[i]=fgetc(datei)) != EOF) { //Solange einlesen bis EndOfFile erreicht ist printf("%c", c[i]); i++; c[i]=fgetc(datei); printf("%c", c[i]); i++; printf(" "); //Leerzeichen zwischen 2 Hex-Werten (1Byte) }
Wenn ich nun auf die Array-Werte mit c[...] zugreife klappt das ganze auch, aber sobald ich auf ab c[40] zugreifen will, fängt er wieder von vorne an, das heißt c[40] hat den selben inhalt wie c[0]. Woran liegt das?
Hier noch der Inhalt der txt datei:
(das Leerzeichen bedeutet bis hier geht es)4500003CCD8400004001C3A2AC10C80AAC10C96E4500003CCD8400004001C3A2AC10C80AAC10C96E 00005CE6
-
MoeMoli87 schrieb:
Woran liegt das?
Daran, dass das genau so in der Datei steht.
-
das erste Zeichen der Datei hat aber den Wert 4, während das 41. Zeichen der Datei den Wert 0 hat, es soll so aussehen:
c[0] = 4 c[1] = 5 . . . c[40] = 0 c[41] = 0 c[42] = 0 c[43] = 0 c[44] = 5 c[45] = C
stattdessen schreibt er mir ab c[40] wieder die Werte der ersten Zeichen da rein.
-
Ich glaube nicht, dass dein Array wieder von vorne anfäng...
MoeMoli87 schrieb:
4500003CCD8400004001C3A2AC10C80AAC10C96E4500003CCD8400004001C3A2AC10C80AAC10C96E00005CE6
Der Inhalt deine Textdatei wieder holt sich ab:
4500003CCD8400004001C3A2AC10C80AAC10C96E
bloss der Schluss ist anders:
00005CE6
also ich sehe das so, muass aber nicht stimmen...
-
mhm, ich befürchte ihr habt recht, hab die txt datei unter Linux erstellt und dabei wohl einmal zu oft beide Tasten gedrückt... Heute is echt nicht mein Tag