summaryrefslogtreecommitdiffstats
path: root/man3/strcpy.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/strcpy.3')
-rw-r--r--man3/strcpy.376
1 files changed, 76 insertions, 0 deletions
diff --git a/man3/strcpy.3 b/man3/strcpy.3
new file mode 100644
index 000000000..7e6a54438
--- /dev/null
+++ b/man3/strcpy.3
@@ -0,0 +1,76 @@
+.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk)
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.\" References consulted:
+.\" Linux libc source code
+.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
+.\" 386BSD man pages
+.\" Modified Sat Jul 24 18:06:49 1993 by Rik Faith (faith@cs.unc.edu)
+.\" Modified Fri Aug 25 23:17:51 1995 by Andries Brouwer (aeb@cwi.nl)
+.\" Modified Wed Dec 18 00:47:18 1996 by Andries Brouwer (aeb@cwi.nl)
+.\"
+.TH STRCPY 3 1993-04-11 "GNU" "Linux Programmer's Manual"
+.SH NAME
+strcpy, strncpy \- copy a string
+.SH SYNOPSIS
+.nf
+.B #include <string.h>
+.sp
+.BI "char *strcpy(char *" dest ", const char *" src );
+.sp
+.BI "char *strncpy(char *" dest ", const char *" src ", size_t " n );
+.fi
+.SH DESCRIPTION
+The \fBstrcpy()\fP function copies the string pointed to by \fIsrc\fP
+(including the terminating `\\0' character) to the array pointed to by
+\fIdest\fP. The strings may not overlap, and the destination string
+\fIdest\fP must be large enough to receive the copy.
+.PP
+The \fBstrncpy()\fP function is similar, except that not more than
+\fIn\fP bytes of \fIsrc\fP are copied. Thus, if there is no null byte
+among the first \fIn\fP bytes of \fIsrc\fP, the result will not be
+null-terminated.
+.PP
+In the case where the length of
+.I src
+is less than that of
+.IR n ,
+the remainder of
+.I dest
+will be padded with nulls.
+.SH "RETURN VALUE"
+The \fBstrcpy()\fP and \fBstrncpy()\fP functions return a pointer to
+the destination string \fIdest\fP.
+.SH BUGS
+If the destination string of a \fBstrcpy()\fP is not large enough
+(that is, if the programmer was stupid/lazy, and failed to check
+the size before copying) then anything might happen.
+Overflowing fixed length strings is a favourite cracker technique.
+.SH "CONFORMING TO"
+SVID 3, POSIX, BSD 4.3, ISO 9899
+.SH "SEE ALSO"
+.BR bcopy (3),
+.BR memccpy (3),
+.BR memcpy (3),
+.BR memmove (3),
+.BR wcscpy (3),
+.BR wcsncpy (3)