iam*_*ind 1 c c++ standard-library
只是好奇地知道(因为我们经常使用这些功能).我没有看到strncpy()和memcpy()之间有任何实际区别.有效地说,不值得
char* strncpy (char *dst, const char *src, size_t size)
{
return (char*)memcpy(dst, src, size);
}
Run Code Online (Sandbox Code Playgroud)
或者我错过任何副作用?有一个类似的早期问题,但找不到确切的答案.
有区别,请参阅strncpy您链接到的页面的这一部分(强调我的):
将源的前num个字符复制到目标.如果在复制num个字符之前找到源C字符串的结尾(由空字符表示),则使用零填充目标,直到已向其写入总共num个字符.
因此,如果要复制的字符串短于限制,strncpy则在memcpy读取超出限制时填充零(可能调用未定义的行为).
| 归档时间: |
|
| 查看次数: |
1615 次 |
| 最近记录: |