• 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. }

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

  • 相关阅读:
    CKS 认证备考指南
    Python调用Jumpserver的Api接口增删改查
    重新安装mysql时,Windows Service Name已经被占用了怎么办
    【招招有效】Windows下根据进程ID杀死进程命令教程
    Node.js阶段学习(一)
    IPWorks S/MIME Delphi Edition
    烟感报警器单片机方案开发,解决方案
    自然应急项目GNSS监测设备
    uniapp微信小程序video视频监听播放时间
    使用 Wireshark 抓包工具快速分析 IoT 物联网终端设备的网络通信行为
  • 原文地址:https://blog.csdn.net/KIHEAROC/article/details/126196580