strcpy, strncpy - copy strings
#include <string.h>
char *
strcpy(char *dst, const char *src);
char *
strncpy(char *dst, const char *src, size_t len);
The strcpy() and strncpy() functions copy the string src to
dst (including
the terminating ` ' character).
strncpy() copies not more than len characters into dst, appending ` '
characters if src is less than len characters long, and not
terminating
dst if the length of src is greater than or equal to len.
The strcpy() and strncpy() functions return dst.
The following sets chararray to ``abc '':
(void)strncpy(chararray, "abc", 6);
The following sets chararray to ``abcdef'' and does not null
terminate
chararray because the source string is >= the length parameter.
strncpy() only null terminates the destination string when
the length of
the source string is less than the length parameter.
(void)strncpy(chararray, "abcdefgh", 6);
The following copies as many characters from input to buf as
will fit and
null terminates the result. Because strncpy() does not
guarantee to null
terminate the string itself, we must do this by hand.
char buf[BUFSIZ];
(void)strncpy(buf, input, sizeof(buf) - 1);
buf[sizeof(buf) - 1] = ' ';
Note that strlcpy(3) is a better choice for this kind of operation. The
equivalent using strlcpy(3) is simply:
(void)strlcpy(buf, input, sizeof(buf));
bcopy(3), memccpy(3), memcpy(3), memmove(3), strlcpy(3)
The strcpy() and strncpy() functions conform to ANSI
X3.159-1989 (``ANSI
C'').
OpenBSD 3.6 June 29, 1991
[ Back ] |