Defined in header <cwchar> | ||
---|---|---|
wchar_t *wcsncpy( wchar_t *dest, const wchar_t *src, std::size_t count ); |
Copies at most count
characters of the wide string pointed to by src
(including the terminating null wide character) to wide character array pointed to by dest
.
If count
is reached before the entire string src
was copied, the resulting wide character array is not null-terminated.
If, after copying the terminating null wide character from src
, count
is not reached, additional null wide 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 wide character array to copy to |
src | - | pointer to the wide string to copy from |
count | - | maximum number of wide characters to copy |
Return value
dest
.
Notes
In typical usage, count
is the size of the destination array.
Example
#include <iostream> #include <cwchar> int main() { wchar_t src[] = L"hi"; wchar_t dest[6] = {L'a', L'b', L'c', L'd', L'e', L'f'}; std::wcsncpy(dest, src, 5); // this will copy hi and repeat \0 three times std::wcout << "The contents of dest are: "; for(wchar_t c : dest) { if(c) std::wcout << c << ' '; else std::wcout << "\\0" << ' '; } std::wcout << '\n'; }
Output:
The contents of dest are: h i \0 \0 \0 f
See also
copies one wide string to another (function) | |
copies a certain amount of wide characters between two non-overlapping arrays (function) | |
copies a certain amount of characters from one string to another (function) | |
C documentation for wcsncpy |
Please login to continue.