Speicher kopieren
-
Hallo,
ich möchte gerne einen Speicherblock von einem Buffer zum anderen kopieren. Ok, memcpy(), aber dies ist nicht was ich benötige.
Ich habe ein array X der Größe sizeof(Vector)*10;
Und ich habe ein array Y der Größe sizeof(Vector)*6;Ich vergrößere nun array X um 6, so dass array Y angehangen werden könnte.
Nun meine Frage, wie kopiere ich (eigentlich müsste ich sagen, wie hänge ich es dran) array Y nach array X, so dass es angehangen ist ohne rekursion?Vielen Dank für jegliche Vorschläge
vg
Desi
-
Warum nicht mit memcpy? Du weisst schon dass die Parameter variabel sind, Du also als Zielbereich auch die Mitte Deines Arrays angeben kannst?

memcpy(X + 10, Y, sizeof(Vector) * 6);C++-like wäre z.B. sowas
copy(Y, Y + 6, X + 10); // Kopiere den Bereich [ Y[0] , Y[6] ) nach [ X[10] , X[16] )
-
Also memcpy ist auf jeden Fall richtig.
Ich würde es so machen:char* x = new char[15]; char* y = new char[5]; memset(x,'a',10); memset(y,'b',5); memcpy(x+10,y,5); delete[] x; delete[] y;Ist bei mir aaaaaaaaaabbbbb rausgekommen

PS: Zu Spät

-
Irgendwie klingt aber sizeof(Vector) nach etwas, das man nicht mit memcpy kopieren darf. Was ist denn Vector?
-
LordJaxom schrieb:
Warum nicht mit memcpy? Du weisst schon dass die Parameter variabel sind, Du also als Zielbereich auch die Mitte Deines Arrays angeben kannst?

memcpy(X + 10, Y, sizeof(Vector) * 6);C++-like wäre z.B. sowas
copy(Y, Y + 6, X + 10); // Kopiere den Bereich [ Y[0] , Y[6] ) nach [ X[10] , X[16] )Oh, das wusste ich nicht!!
Warum weiß ich das nicht? Danke! 
-
SALOMON schrieb:
PS: Zu Spät

Trotzdem auch dir sei gedankt.

-
Ponto schrieb:
Irgendwie klingt aber sizeof(Vector) nach etwas, das man nicht mit memcpy kopieren darf. Was ist denn Vector?
Vector ist eine eigene Klasse (besser gesagt ein struct), für 3Dimensionale Vektoren. Die darf ich kopieren, hab ich mir von mir selber sagen lassen.
