The strcpy_s function copies the string pointed to by src (including the terminating null character) into the array pointed to by dest.
With SAFECLIB_STR_NULL_SLACK defined all elements following the terminating null character (if any) written by strcpy_s in the array of dmax characters pointed to by dest are nulled when strcpy_s returns.
- Parameters
-
[out] | dest | pointer to string that will be replaced by src. |
[in] | dmax | restricted maximum length of dest |
[in] | src | pointer to the string that will be copied to dest |
- Precondition
- Neither dest nor src shall be a null pointer.
-
dmax shall not be greater than RSIZE_MAX_STR.
-
dmax shall not equal zero.
-
dmax shall be greater than strnlen_s(src, dmax).
-
Copying shall not take place between objects that overlap.
- Note
- C11 uses RSIZE_MAX, not RSIZE_MAX_STR.
- Returns
- If there is a runtime-constraint violation, then if dest is not a null pointer and destmax is greater than zero and not greater than RSIZE_MAX_STR, then strcpy_s nulls dest.
- Return values
-
EOK | when successful operation, the characters in src were copied into dest and the result is null terminated. |
ESNULLP | when dest or src is a NULL pointer |
ESZEROL | when dmax = 0 |
ESLEMAX | when dmax > RSIZE_MAX_STR |
ESOVRLP | when strings overlap |
ESNOSPC | when dest < src |
- See also
- strcat_s(), strncat_s(), strncpy_s()