memmove



  • Hallo zusammen, ich habe ein Problem mit Buffer verschieben

    char caBuffer_m[60][100];
    memmove(caBuffer_m,caBuffer_m+sizeof(caBuffer_m[0]),sizeof(caBuffer_m)-sizeof(caBuffer_m[0]));
    

    kann mir jemand sagen wo der Fehler liegt?
    ich möchte für einen LIFO speicher alles um einen Index nach vorne rücken, aber der Compiler hat anscheinend ein Problem damit...



  • Ich denke, du willst

    memmove(caBuffer_m, caBuffer_m + 1, sizeof(caBuffer_m) - sizeof(caBuffer_m[0]));
    

    caBuffer_m+sizeof(caBuffer_m[0]) bedeutet nicht caBuffer_m plus sizeof(caBuffer_m[0]) Bytes, sondern caBuffer_m plus sizeof(caBuffer_m[0]) Elemente.



  • Danke
    Genau das wollte ich.
    Wieder um eine Erkenntnis reicher...


Anmelden zum Antworten