Men grejen är att när jag har kört funktionen, så har jag fått en fil, precis som jag ville. men det det är bara dom 72 första byten som innehåller information och resten av filen är tom.
Men jämnför man informationen med hjälp av en hex editor, så ser man att dom 72 byten stämmer överens, men att i den filen jag läser ifrån så fortsätter det med en massa data. och i den filen jag har skrivit så finns det ingenting efter dom 72 första byten, ändå är den filen 6.7mb stor.
Vad har jag gjort för fel?
------------------
Ytterligare en pajsare utan fruktan som jönsar vidare
Hur mycket försöker du läsa från filen? Om du försöker läsa in flera MB är det en dålig lösning. Gör isåfall en buffert och loopa flera läsningar istället.
Du har ingen felhantering på filhanteringen, då är det svårt att se om streamen sätts i fel-state. Tips är att titta på detta i debuggern.
Ett tips är att tänka lite mer detektiv-mässigt, du säger i princip bara ATT det går fel - inte VAR det går fel. Gå ett steg i taget, och titta på dina datastrukturer i debuggern.
Du ser ju exempelvis i debuggern om hela bufferten läses in korrekt i minnet eller om det gått fel redan där.
Ok. ska testa det där med buffer.
Tack.
jag försökte kopiera 6-7mb åt gången i en enda klump, men det har jag fått höra av flera nu att det är dumt. ska prova att plocka 64kb åt gången istället.
------------------
Ytterligare en pajsare utan fruktan som jönsar vidare
Nu har jag pillat lite mer.
nu läser jag en byte i taget (säkert en dålig lösning, men men)
hur som helst så kollar jag fi.fail()
i varje läsning och den sätts hela tiden. Nu undrar jag varför.
När jag hade läst 7mb så hade fail() blivit sann ca: 13000 gånger (jag clearade och fortsatte läsa)
vad finns det för troliga orsaker att fail() blir sann?
(den springer inte utanför filsluts gränsen)
------------------
Ytterligare en pajsare utan fruktan som jönsar vidare
394 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849