写点什么

C 语言 - 字符串相关库函数用法 + 模拟实现

  • 2024-12-14
    四川
  • 本文字数:972 字

    阅读完需:约 3 分钟

C语言-字符串相关库函数用法+模拟实现

在 C 语言中,字符串是字符数组的一种特殊形式,以空字符'\0'结束。C 语言提供了一系列的库函数来处理字符串,这些函数在<string.h>头文件中定义。以下是一些常用的字符串相关库函数及其用法和模拟实现:

  1. strlen():此函数返回给定字符串的长度。

    用法:size_t strlen(const char *str);

    模拟实现:

    size_t my_strlen(const char *str) { const char *s = str; while (*s) ++s; return s - str; }

  2. strcpy():此函数将源字符串复制到目标数组。

    用法:char* strcpy(char* destination, const char* source);

    模拟实现:

    char* my_strcpy(char* destination, const char* source) { assert(destination != NULL && source != NULL); char *ret = destination; while ((*destination++ = *source++) != '\0'); return ret; }

  3. strcat():此功能将源串附加到目标串后面。

    用法: char * strcat (char *, const *) ;

    模拟实现:

    //模仿 strcat 函数 void my_strcat (char *,const *) { assert((src!=NULL)&&(dst!=NULL)); //断言源地址和目标地址都不为空 while(*dst!='\0') { //找到dst 的结束位置 dst++; } while((*dst++=*src++)!='\0'); //复制 }

  4. strcmp():此函数比较两个字符串。

    用法:int strcmp(const char *str1, const char *str2);

    模拟实现:

    int my_strcmp(const char *str1, const char *str2) { while (*str1 && (*str1 == *str2)) { str1++; str2++; } return *(unsigned char *) str1 - *(unsigned char *) str2; }

  5. strstr():此函数在一个字符串中查找子串。

    用法: char* strstr(const* haystack, const* needle);

    模拟实现:

    //模仿 strstr 函数 void my_strcat (char *,const *) { assert((src!=NULL)&&(dst!=NULL)); //断言源地址和目标地址都不为空 while(*dst!='\0') { //找到dst 的结束位置 dst++; } while((*dst++=*src++)!='\0'); //复制 }

以上就是 C 语言中常见的一些字符串相关的库函数及其模拟实现。这些库函数为我们提供了方便,但是理解其内部工作原理也同样重要,这样我们才能更好地使用它们,并在需要时自己编写类似的功能。

蓝易云-五网CN2服务器【点我购买】蓝易云采用KVM高性能架构,稳定可靠,安全无忧!蓝易云服务器真实CN2回国线路,不伪造,只做高质量海外服务器。


海外免备案云服务器链接:www.tsyvps.com

蓝易云香港五网 CN2 GIA/GT 精品网络服务器。拒绝绕路,拒绝不稳定。

用户头像

百度搜索:蓝易云 2023-07-05 加入

香港五网CN2免备案服务器

评论

发布
暂无评论
C语言-字符串相关库函数用法+模拟实现_百度搜索:蓝易云_InfoQ写作社区