我似乎无法理解这一点,这两个功能之间的基本区别是什么:
char *strncpy(char *str1, const char *str2, size_t count);
和
size_t strxfrm(char *str1, const char *str2, size_t count);
对我来说,他们似乎都将count
个字符从str2
复制到str1
。我真正想知道的是,我什么时候应该使用其中任何一个?
答案 0 :(得分:2)
区别在于返回值:
strcpy()和 strncpy()函数会将指针返回到目标字符串。
成功完成后, strxfrm()将返回已转换字符串的长度(不包括终止空字节)。如果返回的值是n或更多,则s1指向的数组的内容是未指定的。