#include <strings.h> char *strxcat(dst, src1, src2, ..., NullS) char *dst, *src1, *src2, ...; char *strxncat(dst, len, src1, src2, ..., NullS) char *dst, *src1, *src2, ...; int len; char *strxcpy(dst, src1, src2, ..., NullS) char *dst, *src1, *src2, ...; char *strxncpy(dst, len, src1, src2, ..., NullS) char *dst, *src1, *src2, ...; int len; char *strxmov(dst, src1, src2, ..., NullS) char *dst, *src1, *src2, ...; char *strxnmov(dst, len, src1, src2, ..., NullS) char *dst, *src1, *src2, ...; int len;
Strxcat appends a copy of the strings src1, src2, and so on, to dst. The resulting string will always be NUL-terminated. Strxncat copies at most len characters. The resulting string will be NUL-terminated if fewer than len characters were moved. At most one NUL is added.
Strxcpy copies the strings src1, src2, and so on, into dst. Strxncpy copies at most len characters. The resulting string will not be null-terminated if len or more characters were in the source strings. By analogy with strncpy, dst will be padded on the right with NUL characters to exactly len bytes.
Apart from their return value, strxmov and strxnmov have the same effect as strxcpy and strxncpy.