• STR类函数的学习心得 (1)


    strlen(求字符串长度)

    学习中接触比较多的STR类函数。

    比较基础的方法就是通过计数器来求得字符串长度,代码如下

    1. int my_strlen(const char* str)
    2. {
    3. int count = 0;
    4. assert(str != NULL);
    5. while (*str != '\0')
    6. {
    7. count++;
    8. str++;
    9. }
    10. return count;
    11. }

    其函数实现只需一个参数即可。

    strcpy(字符串的复制)

    strcpy函数也是平常使用较多的函数,其特点就是strcpy函数在执行的时候会把"\0"一起拷贝到目标数组中。验证方法可以是在目标数组中置入较多"#"符号,拷贝少量内容到目标数组能得以体现。

    需要注意的是,在平常使用过程中,一定要保证目标空间足够大,否则程序将会出现错误。

    strcat(字符串的追加)

    strcat函数顾名思义就是在原有的基础上继续追加字符串

    例:arr1[20] = "abcd";

    arr2[]="efg";

    strcat(arr1,arr2);

    其结果显示:arr1 = "abcdefg"

    函数实现需要使用两个参数 目标参数 追加参数

    函数实现如下

    1. char* my_strcat(char* dest, const char* src)
    2. {
    3. char* ret = dest;
    4. assert(dest && src);
    5. while (*dest)
    6. {
    7. *dest++;
    8. }
    9. //追加字符串
    10. while (*dest++ = *src++)
    11. {
    12. }
    13. return ret;
    14. }

    类似的,使用过程中需要注意目标空间的大小是否足够追加.

    strcmp(字符串大小比较)

    strcmp函数比较有意思,它的作用就是比较两个字符串的大小,但要注意的是不是比较字符串的长度,而是比较两个字符串对应位置的字符的ascll码值的大小,如需比较的两个字符ascll码值不同,则直接得出大小而不继续对剩下的字符进行比较。当一直比较到其中一个函数的"\0"时,函数也会停止得出结果。

    其函数实现如下:

    1. int my_strcmp(const char* arr1, const char* arr2)
    2. {
    3. assert(arr1 && arr2);
    4. while (*arr1 == *arr2)
    5. {
    6. if (arr1 == '\0')
    7. {
    8. return 0;
    9. }
    10. arr1++, arr2++;
    11. }
    12. /*if (*arr1 > *arr2)
    13. {
    14. return 1;
    15. }
    16. else
    17. {
    18. return -1;
    19. }
    20. return *arr1 - *arr2;
    21. }

    限于个人水平,实现方式并没有很简洁,有许多可以改进的地方,希望能给各位带来一定的参考价值

  • 相关阅读:
    倍市得受邀做客普华永道“技术驱动企业创新与增长”系列沙龙——用户体验管理专场
    室内定位UWB在化工园区如何智能化管理
    助推科技强国高质量发展《科创超级训练营》系列活动正式拉开帷幕
    探讨前后端分离开发的优势、实践以及如何实现更好的用户体验?
    LAMP部署
    智通利API文档-ZtlApi
    NC129 阶乘末尾0的数量
    Python && JAVA 去除字符串中空格的五种方法
    【置顶】博客使用须知,公告板,留言板,关于博主
    偏序:正逆序比
  • 原文地址:https://blog.csdn.net/KIHEAROC/article/details/126196580