Originální popis anglicky:
strcpy - copy a string
Návod, kniha: POSIX Programmer's Manual
#include <string.h>
char *strcpy(char *restrict
s1, const char
*restrict s2);
The
strcpy() function shall copy the string pointed to by
s2
(including the terminating null byte) into the array pointed to by
s1.
If copying takes place between objects that overlap, the behavior is
undefined.
The
strcpy() function shall return
s1; no return value is reserved
to indicate an error.
No errors are defined.
The following sections are informative.
The following example copies the string
"----------" into the
permstring variable.
#include <string.h>
...
static char permstring[11];
...
strcpy(permstring, "----------");
...
The following example allocates space for a key using
malloc() then uses
strcpy() to place the key there. Then it allocates space for data using
malloc(), and uses
strcpy() to place data there. (The
user-defined function
dbfree() frees memory previously allocated to an
array of type
struct element *.)
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
...
/* Structure used to read data and store it. */
struct element {
char *key;
char *data;
};
struct element *tbl, *curtbl;
char *key, *data;
int count;
...
void dbfree(struct element *, int);
...
if ((curtbl->key = malloc(strlen(key) + 1)) == NULL) {
perror("malloc"); dbfree(tbl, count); return NULL;
}
strcpy(curtbl->key, key);
if ((curtbl->data = malloc(strlen(data) + 1)) == NULL) {
perror("malloc"); free(curtbl->key); dbfree(tbl, count); return NULL;
}
strcpy(curtbl->data, data);
...
Character movement is performed differently in different implementations. Thus,
overlapping moves may yield surprises.
This issue is aligned with the ISO C standard; this does not affect
compatibility with XPG3 applications. Reliable error detection by this
function was never guaranteed.
None.
None.
strncpy() , the Base Definitions volume of
IEEE Std 1003.1-2001,
<string.h>
Portions of this text are reprinted and reproduced in electronic form from IEEE
Std 1003.1, 2003 Edition, Standard for Information Technology -- Portable
Operating System Interface (POSIX), The Open Group Base Specifications Issue
6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics
Engineers, Inc and The Open Group. In the event of any discrepancy between
this version and the original IEEE and The Open Group Standard, the original
IEEE and The Open Group Standard is the referee document. The original
Standard can be obtained online at http://www.opengroup.org/unix/online.html
.