广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言中的strlen函数怎么使用
  • 684
分享到

C语言中的strlen函数怎么使用

2023-06-16 15:06:08 684人浏览 薄情痞子
摘要

今天小编给大家分享一下C语言中的strlen函数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。C语言中的字符串函数有

今天小编给大家分享一下C语言中的strlen函数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

C语言中的字符串函数有如下这些

  • 获取字符串长度

    • strlen

  • 长度不受限制的字符串函数

    • strcpy

    • strcat

    • strcmp

  • 长度受限制的字符串函数

    • strncpy

    • strncat

    • strncmp

  • 字符串查找

    • strstr

    • strtok

  • 错误信息报告

    • strerror

接下来看看如何实现它们

获取字符串长度

strlen

我们看看文档是怎样说的,如下

strlen文档

size_t strlen ( const char * str );

Get string length

获取字符串长度

Returns the length of the C string str.

返回C字符串str的长度

The length of a C string is determined by the terminating null-character: A C string is as long as the number of characters between the beginning of the string and the terminating null character (without including the terminating null character itself).

C字符串长度是由'\0'来确定的,也就是说从字符串的第一个开始只要遇到'\0'就结束长度计算(不包含'\0')

This should not be confused with the size of the array that holds the string. For example:

不用困惑你创建的数组的大小,比如这样

char mystr[100]="test string";

defines an array of characters with a size of 100 chars, but the C string with which mystr has been initialized has a length of only 11 characters. Therefore, while sizeof(mystr) evaluates to 100strlen(mystr) returns 11.

定义一个大小为100的数组mystr,然后mystr 就已经被初始化为一个长度为11的字符串了。所以呢, sizeof(mystr) 会得出 100, 而strlen(mystr) 会返回 11.

综上,可以知道

  1. 字符串已经 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前面出现的字符个数(不包含 '\0' )。

  2. 该函数只认'\0',参数指向的字符串必须要以 '\0' 结束。

  3. 注意函数的返回值为size_t,是无符号的

实现

strlen函数的实现有好几种。

比如

  1. 计数器的方法

  2. 递归

  3. 指针 - 指针

接下来一一实现。

1. 计数器:使用一个变量来记录 - count

断言指针不为空是个好习惯~

int my_strlen(char* str) {int count = 0;assert(str != NULL);while (*str != '\0') // while (*str){count++;str++;}return count;}

就一直找'\0',当*str不是'\0'时,就count++,str++,直到遇到'\0'停止,然后返回count就是长度了。

2. 递归

断言指针不为空是个好习惯~

int my_strlen(char* str){    assert(str != NULL);    char* p = str;    while(*p == '\0')    {        return 0;    }    return 1 + my_strlen(p + 1);}

比如传入的str地址为 1000

那么 1 + my_strlen(p + 1) 中,p + 1,指针偏移后就是1001,以此类推。

1 + 1 + my_strlen(p + 1)

1 + 1 + 1 + my_strlen(p + 1)

1 + 1 + 1 + 1 + my_strlen(p + 1)

...

1 + 1 + 1 + 1 + ... + 0

最终就可以得出长度。

3. 指针-指针

断言指针不为空是个好习惯~

int my_strlen(char* str) {    assert(str != NULL);char* p = str;while (*p != '\0') {p++;}return p - str;}

把指针str的地址赋值给一个新的指针p,str作为指向起始地址的指针,不改变它,记录起始地址。

然后通过指针p进行查找'\0',判断当前字符是否为'\0',不是就进行p++,然后继续判断下一个字符,如此循环,直到指针p找到'\0',然后用 当前的指针p 减去 起始指针str 进行返回,就是长度了。

以上就是“C语言中的strlen函数怎么使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网其他教程频道。

--结束END--

本文标题: C语言中的strlen函数怎么使用

本文链接: https://www.lsjlt.com/news/284257.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言中的strlen函数怎么使用
    今天小编给大家分享一下C语言中的strlen函数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。C语言中的字符串函数有...
    99+
    2023-06-16
  • C语言strlen函数怎么使用
    C语言中的strlen函数用于获取一个字符串的长度,其原型如下:```csize_t strlen(const char* str)...
    99+
    2023-08-12
    C语言 strlen
  • c语言中strlen函数的作用是什么
    strlen函数用于计算一个字符串的长度,即字符串中字符的个数(不包括字符串末尾的空字符'0')。它是C语言中的标准库函数,需要包含...
    99+
    2023-10-18
    c语言
  • c语言strlen函数的用法是什么
    strlen函数用来计算字符串的长度,不包括字符串末尾的空字符('\0')。其用法如下:```c#include size_t st...
    99+
    2023-09-14
    c语言
  • C语言怎么模拟实现strlen函数
    这篇文章主要讲解了“C语言怎么模拟实现strlen函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言怎么模拟实现strlen函数”吧!一.strlen函数的介绍1.strlen函数的声...
    99+
    2023-06-29
  • C语言中的strlen()和sizeof()怎么使用
    这篇文章主要介绍“C语言中的strlen()和sizeof()怎么使用”,在日常操作中,相信很多人在C语言中的strlen()和sizeof()怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言中的...
    99+
    2023-07-05
  • 怎么用C语言strlen函数实现读取字符串长度
    今天小编给大家分享一下怎么用C语言strlen函数实现读取字符串长度的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、函数s...
    99+
    2023-06-30
  • C语言strlen和sizeof在数组中的使用详解
    目录一、前言二、sizeof在二维数组的试题解读:题解:答案验证:64位平台下:32位平台下:一、前言 前面我们详细讲了sizeof和strlen中的使用,基本涉及了所有一维数组可以...
    99+
    2022-11-12
  • C语言中的getchar函数怎么使用
    本文小编为大家详细介绍“C语言中的getchar函数怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言中的getchar函数怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先要明确getcha...
    99+
    2023-07-05
  • C语言中的strcpy函数怎么使用
    这篇“C语言中的strcpy函数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言中的strcpy函数怎么使用”文...
    99+
    2023-06-16
  • c语言中fabs函数怎么使用
    在C语言中,fabs函数用于计算浮点数的绝对值。它的函数原型如下:cdouble fabs(double x);fabs函数接受一个...
    99+
    2023-10-20
    c语言
  • c语言中fwrite函数怎么使用
    在C语言中,`fwrite`函数用于将指定数量的数据块写入到文件中。函数原型如下:```size_t fwrite(const vo...
    99+
    2023-09-05
    c语言
  • 怎么使用c语言中fgetc函数
    本篇内容主要讲解“怎么使用c语言中fgetc函数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用c语言中fgetc函数”吧!fgetc函数返回的字符实际上是文件流中位置指针指向的字符。当f...
    99+
    2023-06-25
  • C语言中exit()函数怎么使用
    在C语言中,exit()函数用于终止程序运行并返回退出状态码。它的使用方法如下:1. 在程序中包含stdlib.h头文件:`#inc...
    99+
    2023-09-14
    C语言
  • C语言中函数怎么用
    这篇文章主要为大家展示了“C语言中函数怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C语言中函数怎么用”这篇文章吧。函数函数定义百度百科对函数的定义:子程序在计算机科学中,子程序是一个大型...
    99+
    2023-06-25
  • c语言怎么使用strlen计算字符串长度
    在C语言中,可以使用strlen函数来计算字符串的长度。该函数在头文件中定义。下面是一个示例代码,展示如何使用strlen函数计算字...
    99+
    2023-08-12
    C语言 strlen
  • C语言的system函数怎么使用
    这篇“C语言的system函数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言...
    99+
    2022-10-19
  • C语言的fread函数怎么使用
    C语言的fread函数用于从文件中读取数据。它的原型如下:```csize_t fread(void *ptr, size_t si...
    99+
    2023-08-09
    C语言 fread
  • c语言strlen的正确用法是什么
    C语言中的strlen函数的正确用法是: #include <string.h> size_t strlen(cons...
    99+
    2023-10-20
    c语言
  • c语言str函数怎么使用
    在C语言中,str函数是用于在一个字符串中查找子字符串的函数。str函数的原型如下:cchar* str(char* str1, c...
    99+
    2023-10-18
    c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作