码迷,mamicode.com
首页 > 其他好文 > 详细

字符串相关处理函数

时间:2015-08-29 21:45:12      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:strcat   strcmp   strcpy   字符串   函数   

1. strcpy: --拷贝

包含库:

    #include <string.h>

函数原型:

    char *strcpy(char *dest, const char *src);  

        --将src指向的字符串拷贝到dest指向的空间,拷贝过程中包括拷贝src中的‘\0’    --向前拷

    char *strncpy(char *dest, const char *src, size_t n);

        --将src指向的n个字节的字符拷贝到dest指向的空间,拷贝过程中不特意添加‘\0’

参数:

    dest,目的

    src,源

    n,源中的n各字节

返回值:

    目的字符串 dest 的指针

例子:

   技术分享

一个简单的strcpy的实现:

char * strncpy(char *dest, const char *src, size_t n)
{
    size_t i;

    for (i = 0; i < n && src[i] != ‘\0‘; i++)
        dest[i] = src[i];
    for ( ; i < n; i++)
        dest[i] = ‘\0‘;

    return dest;
}

   对于 strncpy 当前n个字符中没有\0字符串结束符的解决办法是

        strncpy(buf, str, n);

        if (n > 0)

            buf[n - 1]= ‘\0‘;

注意:目标数组的大小一定要足够大,否则,内存出现问题。

2. strcat: --连接

包含的库:

    #include <string.h>

函数原型:

    char *strcat(char *dest, const char *src);

         --将src链接到dest后边,结果是 dest+src 。连接方式是

            从覆盖dest所指向字符串后边的 ‘\0‘ 开始。

    char *strncat(char *dest, const char *src, size_t n);

         --dest + 至多n个src里边的字符串,特殊情况是

            当src里边有n个或者多于n个,则src不必一定要以 ‘\0‘ 结尾。

参数:

    dest,...

    src,...

    n,src里边至多的个数

返回值:

    目的字符串 dest 的指针

例子:

技术分享

一个简单的strncat的实现:

char * strncat(char *dest, const char *src, size_t n)
{
    size_t dest_len = strlen(dest);
    size_t i;

    for (i = 0 ; i < n && src[i] != ‘\0‘ ; i++)
        dest[dest_len + i] = src[i];
    dest[dest_len + i] = ‘\0‘;
   
    return dest;
}

3. strcmp:比较

包含的库:

    #include <string.h>

函数原型:

     int strcmp(const char *s1, const char *s2);

         --相当于 *s1-*s2 ,所有字符都比较

    int strncmp(const char *s1, const char *s2, size_t n);

         --相当于 *s1-*s2 ,前n个字符比较

参数:

    s1,字符串1

    s2,字符串2

    n,(至多)要比较的个数

返回值:

    >0,s1指向的字符串比s2指向的字符串大

    =0,两个指针指向的字符串完全相同

    <0,s1指向的字符串比s2指向的字符串小

版权声明:本文为博主原创文章,未经博主允许不得转载。

字符串相关处理函数

标签:strcat   strcmp   strcpy   字符串   函数   

原文地址:http://blog.csdn.net/qqliyunpeng/article/details/48091667

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!