您的位置:首页 > 编程语言 > C语言/C++

【面试题】C语言:模拟实现strncpy,尝试比较strncpy与strcpy区别。

2015-11-22 16:07 489 查看
比较strncpy与strcpy联系
两者均为字符串拷贝函数,用于拷贝字符串。
[b]比较strncpy与strcpy区别:[/b]
strcpy比较时找字符串结束标志‘\0’,一旦找到 ‘\0’,比较结束。而后者我们可以根据实际情况完成指定长度n的字符串拷贝,因此函数strcpy里面多了一个字母n,即strncpy.由此,从此处看strncpy比strcpy功能强大一点。

关于strcpy可以查看我的博客链接:http://10740184.blog.51cto.com/10730184/1714516

strncpy代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>

char* my_strncpy(char* dest, const char* src, size_t count)
{
assert(src);
char* strdest= dest;

while (count--)
{
*dest++ = *src++;

}
*dest = '\0';

return strdest;
}

int main()
{
char arr1[10] = { 0 };
char arr2[] = "hello world!";
char* ret = my_strncpy(arr1, arr2, 2);
printf("%s", ret);
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息