Hallo zusammen, ich möchte in einem großen Array mit memcpy an eine bestimmte Stelle schreiben. Unbedarft wie ich bin, habe ich folgenden Befehl versucht: memcpy(BWT_to_LZSS_array[data_BTW_LZSS_counter], data, BLOCK_SIZE); Leider funktioniert das nicht. Ich bekomme eine Warnung: warning C4022: 'memcpy' : pointer mismatch for actual parameter 1 Kann mir jemand sagen, ob es überhaupt eine Lösung mit memcpy für mein Problem gibt? Danke & Gruß Markus
Zeig mal ein bisschen mehr Code. GRad die Deklarationen sind interessant. Ins Blaue hinein würd ich sagen, da fehlt ein & vor dem ersten Parameter. :-)
Die Frage ist, wie wahrscheinlich es ist, daß du die richtige Lösung bekommst. Die Chancen dafür steigen mit einer vernünftigen Beschreibung. Deine Frage fällt nicht darunter. Insbesondere fehlt die Deklaration von BWT_to_LZSS_array. Wenn ich jetzt mal spekuliere, daß BWT_to_LZSS_array das betreffende Feld ist und data_BTW_LZSS_counter der Offset, an dem in das Feld geschrieben werden soll, dann hilft vielleicht ein Adreßoperator davor. Also:
1 | memcpy( &BWT_to_LZSS_array[data_BTW_LZSS_counter], data, BLOCK_SIZE ); |
Oder alternativ:
1 | memcpy( BWT_to_LZSS_array + data_BTW_LZSS_counter, data, BLOCK_SIZE ); |
Danke für die Hilfe. Habe vor zwei Minuten die alternative Lösung von Walter gefunden (ausprobieren) und wollte gerade hier Bescheid geben. Gruß Markus
uuups - sorry, hab grad ne mail an einen Walter geschrieben und war mit meinen Gedanken woanders. Danke für Deine Hilfe Klaus und entschuldige bitte den Namenswechsel. :-) Gruß Markus
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.