Hejsan Generell princip (eftersom jag inte har satt mig in i C#): Sen bör du ju tänka på att ifall du söker efter en enskild byte så är ju risken att du hittar den "på fel ställe" rätt stor. Ett längre mönster att söka efter är säkrare. Helt riktigt, jag kan nog ställa till en hel del problem ;-). Dock så vet jag vilka bytes (mönster) jag ska leta efter. Inte det som är problemet, problemet är hur jag ska hitta dem i filen. Då gör du som jag skrev ovan, det är enkelt att utvidga till flera bytes. Det borde finnas något i stil med "streamreader" eller "filereader" eller liknande. Ta det, och öppna binärt.Hitta bytes i binärfil
Handlar om en binär fil som jag har. Grejen är den att
jag vill kunna hitta ex byte 0c (hecadecimalt) i filen som finns på en
obestämd position. Jag vill dessutom kunna
ändra värdet på denna byte till något annat. Någon som har lite tips om hur man gör
detta.
Mvh FredrikSv: Hitta bytes i binärfil
1. Öppna filen som binärfil.
2. Skapa en ny fil, öppna också som binärfil.
3. Läs en byte, typ "x = fil.read(1)".
4. Kolla om x == y (där y är vad du söker efter).
5. i så fall, sätt x = z, (där z är vad du vill byta ut till)
6. skriv x till den nya filen.
7. Börja om från 2 tills filen är klar.
Andra, mer effektiva, varianter får du om du istället läser in ett helt gäng med bytes (ev. hela filen), och använder en replace, och sen skriver tillbaks. Typ:
1.Öppna filen som bin.
2. läs in allt i x
3. x.replace(y, z);
4. skriv x till filen.Sv: Hitta bytes i binärfil
Men att gå och replaca random bytes i en binärfil "i blindo" låter (med den informationen du hittills gett i alla fall) inte som värst brilliant, eller med andra ord, ett rätt säkert sätt att ställa till problem för sej.Sv:Hitta bytes i binärfil
Sv: Hitta bytes i binärfil