std::wcsncpy
来自 cppreference.cn
定义于头文件 <cwchar> |
||
wchar_t* wcsncpy( wchar_t* dest, const wchar_t* src, std::size_t count ); |
||
将 src
所指向的宽字符串的最多 count 个字符(包括终止空宽字符)复制到 dest
所指向的宽字符数组。
如果在复制整个字符串 src
之前达到 count,则生成的宽字符数组不会以空字符终止。
如果在从 src
复制终止空宽字符后,未达到 count,则会将额外的空宽字符写入 dest
,直到已写入总共 count 个字符。
如果字符串重叠,则行为未定义。
目录 |
[编辑] 参数
dest | - | 指向要复制到的宽字符数组的指针 |
src | - | 指向要从中复制的宽字符串的指针 |
count | - | 要复制的最大宽字符数 |
[编辑] 返回值
dest
[编辑] 注意
在典型用法中,count 是目标数组的大小。
[编辑] 示例
运行此代码
#include <cwchar> #include <iostream> int main() { const 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 (const wchar_t c : dest) { if (c) std::wcout << c << ' '; else std::wcout << "\\0" << ' '; } std::wcout << '\n'; }
输出
The contents of dest are: h i \0 \0 \0 f
[编辑] 参见
将一个宽字符串复制到另一个宽字符串 (函数) | |
在两个不重叠的数组之间复制一定数量的宽字符 (函数) | |
将一定数量的字符从一个字符串复制到另一个字符串 (函数) | |
C 文档 关于 wcsncpy 的文档
|