memcmp (längenparam)



  • pointercrash() schrieb:

    ...
    Seltsam kommt mir halt die größer/kleiner- Aussage vor, da sie sich nur der konsekutiven Bytefolgen annimmt und logischerweise nichts über den typisierten Inhalt sagen kann.
    Mich hat eigentlich dann immer die Stelle interessiert, an der sich die Blöcke unterscheiden (Telegrammauswertung) und genau das liefert memcmp nicht.

    pointercrash, in mir kommt der Verdacht auf, dass Du nicht verstehst, wie
    memcmp() (d.h. byteweises Vergleichen von Speicherbereichen!) arbeitet.
    Padding-Wirrwar beim Verwenden einer konkreten Struktur, kann es nicht geben!
    Stellen an denen sich Speicherinhalt unterscheidet, werden von memcmp() immer gefunden.

    MfG



  • willy schrieb:

    pointercrash, in mir kommt der Verdacht auf, dass Du nicht verstehst, wie memcmp() (d.h. byteweises Vergleichen von Speicherbereichen!) arbeitet.

    Und in mir kommt der Verdacht auf, daß Dir nicht klar ist, daß byteweises Vergleichen auf größer/kleiner bis zur totalen Sinnlosigkeit kontextbefreit ist.

    willy schrieb:

    Padding-Wirrwar beim Verwenden einer konkreten Struktur, kann es nicht geben!

    Wenn das Moses sagt, wird er sein Volk nach Kanaan führen müssen. Ich hatte durch die Postings vorher ein paar lehrreiche Aha- Erlebnisse.

    willy schrieb:

    Stellen an denen sich Speicherinhalt unterscheidet, werden von memcmp() immer gefunden.

    Bestreite ich nicht, aber es nützt mir so wenig wie der Beweis, daß ich ein zehn Zentimeter großes Loch durch meine Klotür bohren kann. Ich brauch's einfach nicht und memcmp genauso wenig.



  • pointercrash() schrieb:

    Und in mir kommt der Verdacht auf, daß Dir nicht klar ist, daß byteweises Vergleichen auf größer/kleiner bis zur totalen Sinnlosigkeit kontextbefreit ist.

    nimm mal mal zwei zahlen, 123456 und 123476. wenn du die ziffern von links nach rechts vergleichst, wirste bei der 5ten stelle (von links) einen unterschied feststellen. der grössenunterschied einer einzelnen ziffer entscheidet, ob die gesamte zahl grösser oder kleiner ist. egal wie die ziffern rechts davon aussehen. das selbe gilt auch manchmal für bytefolgen.
    🙂



  • stellenwertsystem-freak schrieb:

    nimm mal mal zwei zahlen, ... , ob die gesamte zahl grösser oder kleiner ist. ... das selbe gilt auch manchmal für bytefolgen. 🙂

    Manchmal ... eben 😃
    Little oder big endian? Damit fängt's an und es wird sich weiter ergeben, daß sich für solche Sachen kontextbezogenes Parsing empfielt, memcmp() spart mir da gar nichts. 😞



  • pointercrash() schrieb:

    stellenwertsystem-freak schrieb:

    nimm mal mal zwei zahlen, ... , ob die gesamte zahl grösser oder kleiner ist. ... das selbe gilt auch manchmal für bytefolgen. 🙂

    Manchmal ... eben 😃
    Little oder big endian?

    naja, zum checken ob sich zwei arrays (keine structs und sowas) oder speicherbereiche gleichen, ist memcmp doch prima geeignet. und bei vorzeichenlosen ganzzahlen im big-endian format kann man sogar rausfinden, welche grösser ist (z.b. beim replay-counter von WPA der aus 16 bytes besteht). ich finde für so'ne kleine funktion kann memcmp ganz schön viel.
    🙂


Anmelden zum Antworten