Lutz schrieb:
> vielen Dank für die Antwort.
>
> wenn ich jetzt aber einen Buffer befüllen will, müsste das ja so
> realisierbar sein. Allerdings klappt es nach diesem Schema nicht so
> ganz...
>
> strncpy( stringbuffer, string1, strlen(string1) );
>
> stringbuffer( strlen(string1) ) = ' ';
Was genau willst du hier eigentlich realisieren?
WEnn du einen String hinten an einen anderen String drannhängen willst,
dann nimmst du nicht strcpy sondern strcat. Und natürlich gibt es da
auch eine n Version - strncat - dazu.
Und bei den n Versionen der strxxx Funktionen immer darauf aufpassen,
dass diese das abschliessende obligatorische \0 Byte nur unter ganz
bestimmten Umständen im Ziel hinterlassen. Daher schreibt man sich ganz
gerne auch eigene Funktionen, die auf strnxxx aufbauend, das
abschliessende \0 Byte auf jeden Fall ins Ziel schreiben.
Das was du da geschrieben hast, kannst du auch einfacher formulieren
1 | strcpy( stringbuffer, string1 );
|
2 | strcat( stringbuffer, " " );
|
3 | strcat( stringbuffer, string2 );
|
4 | strcat( stringbuffer, " " );
|
Und da dieses mehr oder weniger genau so in so ziemlich jedem C-Buch als
Einführung in die Strinverarbeitung vorkommt, bleibt für mich nur der
Schluss, dass du auch zu der fehlgeleiteten Fraktion der
Halbwissen-C-Programmierer gehörst, die meinen sie bräuchten kein
C-Buch.