Zugriffsverletzung
-
kann mir jemand sagen, warum bekomme ich bei memcpy eine zugriffsverletzung.
char* buffer = (char*)malloc(671); memset(buffer, 0, sizeof(buffer)); String s; int knt; int b = 0; while ((b = read(handle, buffer, 670)) == 670) { s = String(buffer[316]); // <-- OK! memcpy((void*)&knt, (void*)buffer[316], 4); // Zugriffsverletzung :rage: memset(buffer, 0, sizeof(buffer)); } free(buffer);
wenn ich z.b.
memcpy((void*)&knt, "XYZS", 4);
mache, ist alles ok. mkit buffer fehler
-
buffer[316] ist keine Adresse.
-
verdammt hat du recht!
Danke!
-
solche Fehler kannst du vermeiden, in dem du dieses unnötige Casten weglässt