std::strncpy
来自cppreference.com
|
|
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
| 在头文件 <cstring> 中定义
|
||
| char *strncpy( char *dest, const char *src, std::size_t count ); |
||
。
count字符的字节串的副本指出,src(包括终止空字符)的字符数组指出,dest. 原文:
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. 。
count达到之前的整个字符串src被复制,产生的字符数组是不是空终止原文:
If
count is reached before the entire string src was copied, the resulting character array is not null-terminated.。之后,如果从
src终止空字符复制,count没有达到,额外的空字符,直到总的dest字符写入count已经写.原文:
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.
[编辑] 。参数。
| 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 |
===。
返回值。===
dest
[编辑] 。为例。
#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'; }
输出:
The contents of dest are: h i \0 \0 \0 f
[编辑] 。另请参阅。
| 将一个字符串复制到另一个字符串 (函数) | |
| 将一个缓冲区复制到另一个缓冲区 (函数) | |
| C语言文档 for strncpy
| |