strcpy bei festen String Längen - aber ohne '\0' Zeichen?

OP #870362
Lesenswert?

Hallo,

ich möchte in eine Structure Teil-Strings kopieren, aber ohne das '\0' 
Zeichen, da ich mir sonst das erste Byte des folgenden Structure-Teils 
überschreibe.

Empfehlt Ihr mir, das Byte per Byte in einer for Schleife per Zuweisung 
zu machen oder gibt es eine "strcpy" ähnliche Funktion (vielleicht 
"StrInsert()") in der man die länge des einzufügenden Teilstrings 
mitgibt und somit kein '\0' als Abschluss braucht ?

Grüsse
Gast #870377
Lesenswert?

> gibt es eine "strcpy" ähnliche Funktion (vielleicht "StrInsert()")
> in der man die länge des einzufügenden Teilstrings mitgibt und somit
> kein '\0' als Abschluss braucht ?

Vielleicht
1
  void *memcpy(void *dest, const void *src, size_t n);
OP #870679
Lesenswert?

Peter wrote:
> Ein gutgemeiter Ratschlag:
>
> Ändere unbedingt Deinen Strukt, so dass das '\0' Charakter immer Platz
> hat.

nee - das ist nicht so gut. Ich möchte nämlich ein Telegramm füllen, das 
keine  Ascii '\0' enthalten soll. Die (Teil-)Structures liegen 
hintereinander. Natürlich beende ich den Telegramm String (zwecks 
Bearbeitung im UART) mit einem '\0' - aber innerhalb der Structure (die 
über union mit Teilstrings strukturiert ist) möchte ich keine '\0' 
sehen!

Trotzdem - Danke

>Vielleicht
>
>  void *memcpy(void *dest, const void *src, size_t n);

Werde ich mir mal anschauen - auch vielen Dank an Dich!

Grüsse

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren