标签:面试题 c语言 模拟实现strncpy 尝试比较strncpy与strcpy区别 字符串库函数的实现
比较strncpy与strcpy区别:
两者均为字符串拷贝函数,用于拷贝字符串。但strcpy比较时找字符串结束标志‘\0’,一旦找到 ‘\0’,比较结束。而后者我们可以根据实际情况完成指定长度n的字符串比拷贝,因此函数strcpy里面多了一个字母n,即strncpy.由此,从此处看strncpy比strcpy功能强大一点。
关于strcpy可以查看我的博客链接:http://10740184.blog.51cto.com/10730184/1714516
strncpy代码如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
char *my_strncpy(char *dest, const char *src, size_t count)
{
assert(dest);
assert(src);
char *ret = dest;
while ( count && ( *dest++ = *src++ ) )
{
count--;
}
if (count == 0)
{
*dest = ‘\0‘;
}
return ret;
}
int main()
{
char arr[] = "hello world!";
char p[20];
char *ret = my_strncpy(p, arr,9);
printf("%s", ret);
system("pause");
return 0;
}
【面试题】C语言:模拟实现strncpy,尝试比较strncpy与strcpy区别。
标签:面试题 c语言 模拟实现strncpy 尝试比较strncpy与strcpy区别 字符串库函数的实现
原文地址:http://10740184.blog.51cto.com/10730184/1715679