MirBSD manpage: strcpy(3), strncpy(3)

STRCPY(3)                  BSD Programmer's Manual                   STRCPY(3)

NAME

     strcpy, strncpy - copy strings

SYNOPSIS

     #include <string.h>

     char *
     strcpy(char *dst, const char *src);

     char *
     strncpy(char *dst, const char *src, size_t len);

DESCRIPTION

     The strcpy() and strncpy() functions copy the string src to dst (includ-
     ing the terminating '\0' character).

     strncpy() copies not more than len characters into dst, appending '\0'
     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.

RETURN VALUES

     The strcpy() and strncpy() functions return dst.

EXAMPLES

     The following sets chararray to "abc\0\0\0":

           (void)strncpy(chararray, "abc", 6);

     The following sets chararray to "abcdef" and does not NUL terminate
     chararray because the length of the source string is greater than or
     equal to the length parameter. strncpy() only NUL terminates the destina-
     tion 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
     NUL terminates the result. Because strncpy() does not guarantee to NUL
     terminate the string itself, it must be done by hand.

           char buf[BUFSIZ];

           (void)strncpy(buf, input, sizeof(buf) - 1);
           buf[sizeof(buf) - 1] = '\0';

     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));

SEE ALSO

     bcopy(3), memccpy(3), memcpy(3), memmove(3), strlcpy(3)

STANDARDS

     The strcpy() and strncpy() functions conform to ANSI X3.159-1989 ("ANSI
     C89").

MirBSD #10-current              June 29, 1991                                1

Generated on 2021-12-07 11:07:08 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.