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
> 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); |
Ein gutgemeiter Ratschlag: Ändere unbedingt Deinen Strukt, so dass das '\0' Charakter immer Platz hat.
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
Oliver wrote: > strncpy tuts auch. > > Oliver ... und genau das hatte ich gesucht - vielen Dank + Grüsse
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.