PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kurze Frage zu memcpy o.ä.


Gast
2009-12-21, 10:37:54
Guten Morgen !

Ich hab da mal ne Frage und zwar hab ich ein Array der Länge 10 (array[10]). Die Inhalte müssen nun auf 2 neue Arrays aufgeteilt werden, also erst muss array[0...4] und dann array[5-9] in ein jeweils neues Array der Länge 5 kopiert werden.

Mit memcpy klappt das ja nur für den "ersten" Teil, also:

memcpy(neuesArray, altesArray, strlen(altesArray)/2);

Wie bekomm ich das für den zweiten und ggf. dritten Teil hin ?

Gast
2009-12-21, 10:43:56
Also natürlich könnte ich das jetzt irgendwie mit for-Schleifen hinfriemeln, es muss doch aber bestimmt ne elegantere Lösung geben ? :)

pest
2009-12-21, 11:08:28
memcpy(neuesArray, altesArray+5, 5*sizeof(arraytype));

EGG-Beater
2009-12-21, 11:18:11
Oho. :o

Ich kenne C nur in Grundzügen, so habe ich den Umgang mit Zeigern noch garnicht gesehen. Kann man davon ausgehen, dass das mit Arrays immer so funktioniert?
Hängt das noch davon ab, wie groß der zu speichernde Datentyp ist?

Gast
2009-12-21, 11:27:22
memcpy(neuesArray, altesArray+5, 5*sizeof(arraytype));


Das geht ja wirklich, saugeil :D
Danke !

The_Invisible
2009-12-21, 12:55:09
falls es ein string ist: bitte beachten das dieser nicht terminiert wird. nur zur info, das es nicht böse endet. dann wäre aber eh gleich strncpy() zu verwenden.

mfg

Coda
2009-12-21, 16:56:40
Kann man davon ausgehen, dass das mit Arrays immer so funktioniert?
Ja. Pointerarithmetik ist eine definierte Geschichte.