Seite 2 von 2

Re: Memory stückchenweise lesen

Verfasst: 18.04.2013 11:19
von Chimorin
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

Verfasst: 17.06.2013 19:56
von Darie
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

Re: Memory stückchenweise lesen

Verfasst: 17.06.2013 23:14
von NicTheQuick
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.