std::strncpy
From cppreference.com
Defined in header <cstring>
|
||
char *strncpy( char *dest, const char *src, std::size_t count ); |
||
Copies at most count
characters of the byte string pointed to by src
(including the terminating null character) to character array pointed to by dest
.
If count
is reached before the entire string src
was copied, the resulting character array is not null-terminated.
If, after copying the terminating null character from src
, count
is not reached, additional null characters are written to dest
until the total of count
characters have been written.
If the strings overlap, the behavior is undefined.
Parameters
dest | - | pointer to the character array to copy to |
src | - | pointer to the byte string to copy from |
count | - | maximum number of characters to copy |
Return value
dest
Example
Run this code
#include <iostream> #include <cstring> int main() { const char* src = "hi"; char dest[6] = {'a', 'b', 'c', 'd', 'e', 'f'}; std::strncpy(dest, src, 5); std::cout << "The contents of dest are: "; for (char c : dest) { if (c) { std::cout << c << ' '; } else { std::cout << "\\0" << ' '; } } std::cout << '\n'; }
Output:
The contents of dest are: h i \0 \0 \0 f
See also
copies one string to another (function) | |
copies one buffer to another (function) | |
C documentation for strncpy
|