【C语言】常见字符串函数总结及模拟实现

简介: strlensize_t strlen( const char* string )

strlen

size_t strlen( const char* string )

功能:计算字符串中\0之前的字符的个数,不包括\0。

回值:字符串中字符的个数。

参数指向的字符串必须要以’ \0 '结束

strlen函数返回的是在字符串中’ \0 ‘前面出现的字符个数(不包含’ \0 ')

函数的返回值为size_t,是无符号整型(unsigned int)

模拟实现
#include<stdio.h>
#include<assert.h>
//count计数法
unsigned int my_strlen(const char* string)
{
    //断言,保证指针的有效性,防止野指针
    assert(string!=NULL);
  unsigned int count = 0;
  while(*string)
  {
  count++;
  string++;
  }
  return count;
}
//递归法
unsigned int my_strlen(const char* string)
{
    assert(string!=NULL);
  if (*string)
  return 1 + my_strlen(string + 1);
  else
  return 0;
}
//指针-指针法
unsigned int my_strlen(const char* string)
{
    assert(string!=NULL);
  //const修饰的安全的指针交给一个不安全的char*的指针是要强制类型转换
  char* tmp = (char*)string;
  while (*string)
  {
  string++;
  }
  return string - tmp;
}
int main()
{
  char arr[] = "abcdef";
  printf("%d\n", my_strlen(arr));
  return 0;
}
相关文章
|
4月前
|
安全 C语言
C语言中的字符、字符串及内存操作函数详细讲解
通过这些函数的正确使用,可以有效管理字符串和内存操作,它们是C语言编程中不可或缺的工具。
313 15
|
C语言 C++
【C语言】解决不同场景字符串问题:巧妙运用字符串函数
【C语言】解决不同场景字符串问题:巧妙运用字符串函数
177 2
|
C语言
【C语言】模拟实现深入了解:字符串函数
【C语言】模拟实现深入了解:字符串函数
|
存储 C语言
【c语言】字符串函数和内存函数
本文介绍了C语言中常用的字符串函数和内存函数,包括`strlen`、`strcpy`、`strcat`、`strcmp`、`strstr`、`strncpy`、`strncat`、`strncmp`、`strtok`、`memcpy`、`memmove`和`memset`等函数的使用方法及模拟实现。文章详细讲解了每个函数的功能、参数、返回值,并提供了具体的代码示例,帮助读者更好地理解和掌握这些函数的应用。
218 0
|
存储 安全 编译器
深入C语言库:字符与字符串函数模拟实现
深入C语言库:字符与字符串函数模拟实现
157 0
|
C语言
C语言常见字符函数和字符串函数精讲
C语言常见字符函数和字符串函数精讲
|
安全 程序员 C语言
【C语言】字符串函数及其模拟实现
【C语言】字符串函数及其模拟实现
|
存储 缓存 C语言
【C语言】字符函数,字符串函数,内存函数
C语言中的字符串函数和内存函数
199 0
【C语言】字符函数,字符串函数,内存函数
|
C语言
【c语言】字符串函数的模拟实现(二)
【c语言】字符串函数的模拟实现(二)
78 1
|
C语言
【C语言篇】字符和字符串以及内存函数详细介绍与模拟实现(下篇)
perror函数打印完参数部分的字符串后,再打印⼀个冒号和⼀个空格,再打印错误信息。
160 0