std::strncpy
来自 cppreference.cn
| 在头文件 <cstring> 中定义 |
||
| char* strncpy( char* dest, const char* src, std::size_t count ); |
||
将 src 所指向的字节字符串(包括终止空字符)中最多 count 个字符复制到 dest 所指向的字符数组中。
如果在复制整个字符串 src 之前达到 count,则生成的字符数组不是以 null 结尾的。
如果从 src 复制终止空字符后,count 未达到,则会将额外的空字符写入 dest,直到写入的字符总数达到 count。
如果字符串重叠,则行为未定义。
目录 |
[编辑] 参数
| dest | - | 指向要复制到的字符数组的指针 |
| src | - | 指向要复制的字节字符串的指针 |
| count | - | 要复制的最大字符数 |
[编辑] 返回值
dest
[编辑] 示例
运行此代码
#include <cstring> #include <iostream> 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'; }
输出
The contents of dest are: h i \0 \0 \0 f
[编辑] 参阅
| 将一个字符串复制到另一个字符串 (函数) | |
| 将一个缓冲区复制到另一个缓冲区 (函数) | |
| C 文档 关于 strncpy
| |