std::wcsncpy
From cppreference.com
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.
Contents |
[edit] 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 |
[edit] Return value
dest
[edit] Notes
In typical usage, count
is the size of the destination array.
[edit] Example
Run this code
#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
[edit] 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
|