Kopie von einem byte-Array

Hallo Freunde,

habe grad nen Knoten im Hirn. Wie der Thementitel schon sagt:

ich habe ein byte-Array: byte nuid[4];
von diesem array benötige ich eine temporäre Kopie, die ich in einem späteren loopdurchlauf wieder mit dem inhalt des Original-Arrays vergleichen muss.

nun meine Frage: geht das Anlegen der Kopie (samt Inhalt natürlich) nur über eine Schleife, also byte für byte, oder gibt es da nen eleganteren, direkteren Weg? und wie ist es mit dem vergleich? gibt es auch da einen direkteren Weg, als den Vergleich in ner Schleife byteweise durchzuführen?

LG Stefan

Du suchst memcpy.

Gruß Tommy

gibt es auch da einen direkteren Weg

Du könntest dir mal die Doku zu dem System anschauen, welches du verwendest!

z.B. hier
oder auch hier

Beide bieten umfangreiche Informationen.
( auch zu memcpy() )

Du könnest das byte array auf ein uint32_t uminterpretieren. Dann macht der Compiler und der Arduino für dich die Schleife beim Kopieren oder Vergleichen.

Zum Uminterpretieren bieten sich Zeiger oder union an.

@combie: danke, ich werde das in den Links von Dir alles durcharbeiten, und danach, werde ich dann wohl kaum mehr Fragen haben. :smiley:

Zu memcopy hab ich mich nun mal kurz soweit eingelesen, dass ich jetzt weiss, wie ich es da , wo ichs jetzt grad brauche , verwenden muss.

für den Vergleich schaue ich noch kurz weiter, ansonsten mach ichs über die Schleife. Nur für diesen einen Vergleich, den ich hier grad benötige, treibe ich jetzt nicht allzuviel Aufwnd, auch wenn ich das erreichte wissen natürlich später gebrauchen könnte. Aber jetzt grad fehlt mir die Zeit für langwierige Studien.

LG Stefan

Du musst du wirklich mal die Standard Funktionen anschauen. Dann müsstest du nicht lange überlegen wie man Arrays vergleicht

http://www.cplusplus.com/reference/cstring/memcmp/

Ja danke,
mit den Hinweisen auf memcpy und memcmp hab ichs hinbekommen.
wenn man weiss , wie die gesuchte Funktion heisst, findet man auch die benötigten Infos zur Anwendung derer.

LG Stefan