首页 > 其他分享 >字符串Str函数小结

字符串Str函数小结

时间:2024-05-06 21:57:19浏览次数:12  
标签:return 函数 dest char ++ Str 字符串 小结

数据结构

字符串Str函数总结

·我们学习过很多关于求解字符串相关问题的函数,但是都是每遇到一次算认识了,一定程度上很少进行总结,最近又重新接触到了这类“Str函数”,发现自己还是有点掌握不牢固,以下仅是个人学习总结,有错误之处可指出。

image

如上图所示,在man手册中有许多关于str的函数,但是面试题中主要要我们掌握以上五种(strstr好像没那么常见),有四个打点的函数,其实用法和前面四种函数没有太大区别。

1.strcpy函数(拷贝字符串函数)

strcpy函数的含义:拷贝字符串(包括'0) strncpy函数的含义:拷贝前n个字节的字符串 如下图所示

image

/****************************************************************************
 *
 * file name: 2024-05-06_StrTypes.c
 * author   : [email protected]
 * date     : 2024-05-06
 * function : 总结关于字符串类型的Str函数证明及其用法  strcpy strlen strcat...
 * note     : None
 * CopyRight (c)   2024  [email protected]   Right Reseverd
 *
 ****************************************************************************/
#include <stdio.h>
//验证过程,不调用任何str函数
char *strcpy(char *dest, const char *src)
{
  while (*src != '\0')
  {
    *dest = *src++;//将原保留的字符串的数组元素用指针一个拷贝给新的数组
    dest++;
  }
  *dest = '\0';
  return dest;
}
//测试  
int main()
{
  char A[] = "Hello world!";
  char B[20];

  // 使用自定义的strcpy函数复制字符串
  strcpy(B, A);

  // 打印复制后的字符串
  printf("destination=%s\n", B);

  return 0;
}

2.strlen函数(求字符串长度函数)

strlen和strnlen的区别同1.中解释。

image


#include <stdio.h>
size_t strlen(const char *s)
{
  size_t count = 0;
  while (*s != '\0')
  {
    count++;//只要字符串存在,遍历一个字符记一个数
    s++;//计完数依次挪动指向字符串的指针
  }
  return count;
}
//为了看起来简洁 后面的函数就不把测试放上来了
int main()
{
  char s[] = "Hello World!";
  size_t length = strlen(s);
  printf("Length of the string: %s\n", length);
  return 0;
}

3.strcat函数(将两个字符串连接的函数)

strcat和strncat的区别同1.中解释。

image

char*strcat(char*dest,const char*src){
char* p= dest;
while (*p != '\0') {
p++;//先遍历目标字符串
}
while (*src != '\0') {
*p =*src;//遍历完第一个字符串后,p指针指向末尾,现在再把p指针指向第二个字符串的第一个字符(你瞧,顺其自然的就连接了)
p++;
src++;
}
*p ='0';
return dest;
}

4.strcmp函数(比较两个字符串的)

image

int strcmp(const char*s1,const char*s2)
{
  while (*s1++==*s2++)
  {
    if (*s1=='0'&&*s2=='0')
    {
      return 0;//一直比较到两个字符串遍历完 如果相等则返回0
    }
    return 1;//如果不相等则返回1
  }
  
}

标签:return,函数,dest,char,++,Str,字符串,小结
From: https://www.cnblogs.com/little-mirror/p/18176009

相关文章