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 documentation for strncpy
|