zoukankan      html  css  js  c++  java
  • C语言实现常见的字符串处理函数

    c语言常见的字符串处理函数

    strlen()函数

    1函数原型:

    size_t strlen( const char *string );

    2,函数功能:
    计算指定的字符串string的长度。

    3,strlen函数实现: 

    #include <stdio.h>
    
    int my_strlen1(const char* string)  // const char str[]也行
    {
        if(string == NULL)
            return 0;
            
        int len = 0;
        while(*string)  // (string!='') 也行
        {
            len++;
            string++;
        }
        return len;
    }
    int my_strlen2(const char* string)
    {
    
    }
    int main()
    {
        char str[] = "sfsfds";
        printf("%d",my_strlen1(str));
        return 0;
    }

    strcpy()函数

    1函数数声明原型:
    char *strcpy( char *strDestination, const char *strSource );
    2函数功能:
    将参数src字符串拷贝至参数dest所指的地址。


    3函数实现:

    #include <stdio.h>
    char
    * my_strcpy(char *dest, const char *src) { // 判断参数有效性 if (dest == NULL || src == NULL) return NULL; char *ptr = dest; // 保存字符串初始地址 while(*src) { *ptr++ = *src++; } *ptr = ''; //末尾添加结束符 return dest; } // 方法二 char * my_strcpy2(char *dest, const char *src) { // 判断参数有效性 if (dest == NULL || src == NULL) return NULL; int len = strlen(src); int i = 0; while(i < len) { dest[i++] = src[i]; } dest[i] = ''; return dest; } int main() { char str[] = "sfsfds"; char src[] = "bgdb"; my_strcpy(str, src); printf("%s",str); return 0; }

    strcmp()函数

    1函数数声明原型:

    int strcmp( const char *string1, const char *string2 );

    2.函数功能

    字符串比较

    //strcmp 函数实现
    
    #include <assert.h>
    int my_strcmp(const char *str1, const char *str2)
    {
        //判断str1与str2指针是否为NULL,函数assert的头文件为#include<assert.h>
        assert(str1 != NULL && str2 != NULL);
        while(*str1 && *str2 && (*str1 == *str2))
        {
            str1++;
            str2++;
        }
        return *str1 - *str2;
    }
    int main()
    {
        char str1[] = "sfsaf";
        char str2[] = "sg";
    
        int i = my_strcmp(str1, str2);
        if(i > 0)
            printf("str1大");
        else if(i < 0)
            printf("str2大");
        else
            printf("相等");
        return 0;
    }
  • 相关阅读:
    Infopath Notify 弹出提示信息
    window.showModalDialog 返回值
    【转】获得正文内容中的所有img标签的图片路径
    Json Datable Convert
    Sharepoint 列表 附件 小功能
    Surgey 权限更改
    SQL 触发器用于IP记录转换
    Caml语句 查询分配给当前用户及当前组
    jquery 1.3.2 auto referenced when new web application in VSTS2010(DEV10)
    TFS diff/merge configuration
  • 原文地址:https://www.cnblogs.com/xiaokang01/p/12396878.html
Copyright © 2011-2022 走看看