Quote:
Originally Posted by Easy-Emu
dann wird er null terminated sein (gehe ich mal von aus)
dann liest du ebn byte fuer byte aus und ueberpruefst, in einer while schleife, wann 00 kommt und der string ende ist
|
Quote:
Originally Posted by Tasiro
Der String wird nicht nullterminiert gespeichert, er beginnt mit einer Angabe der Länge. Wenn das erste Byte einen Wert von weniger als 128 aufweist, dann entspricht dieser Wert der Länge des Strings. Ansonsten musst du das höchstwertige Bit umschalten und das nächste Byte ähnlich interpretieren. So erhälst du eine Reihe von Bits, die du dann als Länge interpretieren kannst. Siehe dazu auch die entsprechende [Only registered and activated users can see links. Click Here To Register...].
|
Weder- noch.
Ich war dabei eine einfache Struktur aus mehreren bytes, strings und anderen Datentypen auszulesen. Dabei habe ich einfach übersehen, dass die länge der Strings immer vor dem Stringanfang definiert war.
Code:
struct str
{
..........
write dword/ word/ byte (stringlen)
write string
..........
}
Habe mittlerweile das Problem gelöst.
Trotzdem bedanke ich mich für eure Hilfe.