首页 > 编程语言 > 详细

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

时间:2015-11-23 06:36:54      阅读:287      评论:0      收藏:0      [点我收藏+]

    比较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区别。

原文:http://10740184.blog.51cto.com/10730184/1715679

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!