Memory stückchenweise lesen
- Chimorin
- Beiträge: 451
- Registriert: 30.01.2013 16:11
- Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit
Re: Memory stückchenweise lesen
Genau 4 Byte werden es meines Wissens nicht sein. PeekS() liest immer einen Null-terminierten String, in Dateien kommen öfters 00 vor...
Re: Memory stückchenweise lesen
Ich hab das gleiche Problem wie Armor_2001: ich würde gerne einen Speicherbereich nach einem String durchsuchen und möchte die Adresse haben, an der er beginnt.
CompareMemoryString gibt nur zurück, ob die Strings gleichlang oder unterschiedlich lang sind. Muss ich dafür wirklich immer die gesamte Datei durchlaufen oder kann man sich
das mit einem Trick einfach ersparen?
Darie
CompareMemoryString gibt nur zurück, ob die Strings gleichlang oder unterschiedlich lang sind. Muss ich dafür wirklich immer die gesamte Datei durchlaufen oder kann man sich
das mit einem Trick einfach ersparen?
Darie
Repeat
PureBasic
ForEver
PureBasic
ForEver
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Memory stückchenweise lesen
Natürlich musst du die ganze Datei durchlaufen. Im besten Fall braucht man dafür so viele Len(Datei) + Len(Pattern) Schritte, wobei Len(Datei) die Länge der Datei ist und Len(Pattern) die Länge des Musters, was du finden willst. Der Algorithmus, der das kann, nennt sich Knuth-Morris-Pratt-Algorithmus. Der naive Algorithmus ist allerdings leichter zu verstehen und zu implementieren.