Fehler beim Datei auslesen
-
hallo ich wollt eine datei auslessen
die so ungefähr aufgebaut ist<Größe des Blockes in x*y>
yxxxxxxxxxxxxx
yxxxxxxxxxxxxx
yxxxxxxxxxxxxx
yxxxxxxxxxxxxx
yxxxxxxxxxxxxx
yxxxxxxxxxxxxx
yxxxxxxxxxxxxxDie größe bekomm ich ausgelesen
hab nur noch das problem mit dem Dateienblock der mich eigendlich interresiert
ich wollte diesen durch fseek von hinten auslesen
für die zeiger verschiebung multipliziere ich (x+1)*y
x+1 für die \n
aber aus irgendwälche gründe liest er die daten zufrüh aus
selbst wenn ich x+2 nehme passen die zeichen nicht
die zallen(größe) die ich aus der datei auslesse sind richtigverschieben=((dsizex*dsizey)*(-1)); fseek(Datei, (verschieben), SEEK_END); for (i=0;i<dsizey;i++){ for (j=0;j<dsizex;j++){ fscanf(Datei,"%c",&Read); datei[j][i]=Read; }
dsizex ist der x wert und wurde schon davor um eins erhöt
-
Warum liest du den Block nicht vorwärts ein aber speicherst ihn rückwärts?
for (i=dsizey;i>0;--i){ for (j=0;j<dsizex;j++){ fscanf(Datei,"%c",&Read); datei[j][i-1]=Read; } }
Gruß mcr
EDIT: solltest dann nur mit den Sonderzeichen wie '\n' aufpassen.
-
hab ich mir auch schon überlegt aber
das löst ja mein problem nicht das er nicht genügend zeichen einliest
-
123 schrieb:
hab ich mir auch schon überlegt aber
das löst ja mein problem nicht das er nicht genügend zeichen einliestDann poste hier mal ein komplettes Beispiel.
Gruß mcr