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


Anmelden zum Antworten