Hallo,
ich benötige für ein Projekt eine Funktion mit der ich dynamische Variablen an eine weitere dyn. Variable anhänge. Gibts so was oder wie mach ich das?
Hallo,
ich benötige für ein Projekt eine Funktion mit der ich dynamische Variablen an eine weitere dyn. Variable anhänge. Gibts so was oder wie mach ich das?
Klar, memcpy gibts.Gibts so was oder wie mach ich das?
Darüber bin ich mir im klaren. Allerdings kopiert memcpy von *src nach *dst mit int Länge. Das bringt mir nicht viel, da ich z.B.Zitat von locus vivendi
*src1, *src2, *src3 habe und diese nach einander an *dst anhängen will.
Oder kann mir da memcpy doch helfen und ich weiß nur noch nicht wie?
Trotzdem Danke, das sich das jemand angeschaut hat.
Gruß
Anscheinend ja.Zitat von Beatkiller
Code:void* p = dst; memcpy(p, src1, SIZE1); p += SIZE1; memcpy(p, src2, SIZE2); p += SIZE2; memcpy(p, src3, SIZE3);
Lösung wie Joghurt beschrieben hat. memcpy macht halt fast das gleiche wie strcat. Aber in Ermangelung einen Weges die Länge der Daten erkennen zu können muss diese mitangegeben werden. Das ist eben der Unterschied zwischen "Strings" und nur allgemein "Daten".
Merci!
Das sieht man mal wieder, das ich noch einiges lernen muss
Gruß
Du mußt den void-Pointer p noch auf einen char-Pointer ändern (und dann bei der Zuweisung noch casten am besten auf void*), weil Pointer-Arithmetik mit void-Pointern nicht erlaubt ist. gcc erlaubt das nur durch eine Extension (und verhält sich dann wie ein char-Pointer).
Daran sieht man, dass ich noch einiges lernen muss
Also nochmal korrigiert:Code:char* p = (char*)dst; memcpy(p,src1,SIZE1); p += SIZE1; ...
Lesezeichen