-
2019-02-26 20:41:22
一、strlen函数的介绍
1、使用格式
size_t strlen ( const char * str );
2、使用规则
- 字符串已经 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数(不包含 ‘\0’ )。
- 参数指向的字符串必须要以 ‘\0’ 结束。
- 注意函数的返回值为size_t,是无符号的( 易错 )
3、使用举例
#include <stdio.h> int main() { const char*str1 = "abcdef"; const char*str2 = "bbb"; if (strlen(str2) - strlen(str1)>0) { printf("str2>str1\n"); } else { printf("srt1>str2\n"); } return 0; }
二、strlen函数的模拟实现
1、计数器模式
//计数器模式 int my_strlen(const char* str) { int count = 0; while (*str != '\0') { ++count; str++; } return count; }
2、不创建临时变量的方式
int my_strlen(const char * str) { if (*str == '\0') return 0; else return 1 + my_strlen(str + 1); }
3、指针-指针的方式
int my_strlen(char *s) { char *p = s; while (*p != '\0') p++; return p - s; }
更多相关内容 -
C语言经典例70-编写求字符串长度函数
2020-02-17 14:03:00写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 2 分析 我们知道在string.h中有库函数strlen函数,他的使用方法如下: char str[] = "hello"; printf("str字符串的长度为:%d", strlen...1 题目
写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
2 分析
我们知道在
string.h
中有库函数strlen
函数,他的使用方法如下:char str[] = "hello"; printf("str字符串的长度为:%d", strlen(str));
现在要自己编写统计字符串长度的函数,就要知道字符串判断结束的原理是通过判断
\0
字符串结束符来实现的2.1 方法1-常规方法
设置计数器
count
逐一判断字符是否等于\0
,若不等于则计数器+1
,当循环到\0
时,退出循环,并返回计数器count
即可,见实现1
。2.2 方法2-递归方法
递归的目的是计算字符串长度,递归的退出条件是遇到
\0
,递归的递推公式是1+myStrlen(str + 1)
,即遇到\0
就返回0
,若不是\0
则进行递归将字符串指针向前移动一个位置,见实现2
。3 实现
3.1 实现1-常规方法
int StrLength(char *str) { int count = 0; // 字符串长度 while (str[count] != '\0') { count++; } return count; }
3.2 实现2-递归方法
int StrLength(char *str) { if (*str == '\0') { return 0; } else { return 1 + Strlen(str+1); } }
-
C语言中求字符串长度的函数的几种实现方法
2021-05-19 07:58:491.最常用的方法是创建一个计数器,判断是否遇到‘ ',不是' '指针就往后加一。int my_strlen(const char *str){assert...不创建计数器,从前向后遍历一遍,没有遇到‘ '就让指针向后加一,找到最后一个字符,记下来...1.最常用的方法是创建一个计数器,判断是否遇到‘ ',不是' '指针就往后加一。
int my_strlen(const char *str)
{
assert(str != NULL);
int count = 0;
while (*str != ' ')
{
count++;
str++;
}
return count;
}
2.不创建计数器,从前向后遍历一遍,没有遇到‘ '就让指针向后加一,找到最后一个字符,记下来地址,然后用最后一个字符的地址减去起始地址,就得到了字符串的长度。
int my_strlen(const char *str)
{
char *end = str;
assert(str!=NULL);
assert(end!=NULL);
while (*end != ' ')
{
end++;
}
return end - str;
}
3.不创建计数器,递归实现。
int my_strlen(const char *str)
{
assert(str != NULL);
if (*str == ' ')
{
return 0;
}
else
{
return (1 + my_strlen(++str));
}
}
也可以写成这样:
int my_strlen(const char *str)
{
assert(str != NULL);
return (*str == ' ') ? 0 : (my_strlen(++str) + 1);
}
或者这样:
int my_strlen(const char *str)
{
assert(str != NULL);
return (*str == ' ') ? 0 : (my_strlen(str+1) + 1);
}
这篇关于c语言中获取字符串长度的函数就介绍到这了,需要的朋友可以参考一下。
-
sizeof运算符与求字符串长度函数strlen的区别
2016-10-16 21:47:56sizeof运算符与求字符串长度函数strlen的区别: sizeof可以用于数据类型,也可以用于任意类型的变量; strlen只能用于字符串变量的长度, 用sizeod求字符串长度时,是指整个字符串数组的尺寸;而strlen求得的...sizeof运算符与求字符串长度函数strlen的区别:
sizeof可以用于数据类型,也可以用于任意类型的变量;
strlen只能用于字符串变量的长度,
用sizeod求字符串长度时,是指整个字符串数组的尺寸;而strlen求得的字符串的字符长度不包括最后的字符串结束符。
接下来用代码演示:
1 #include<stdio.h>
2 #include<string.h>
3
4 int main()
5 {
6 char str[10] = "beautiful";
7 int a = strlen(str);
8 // printf("strlen:%d\n",a);
9 printf("strlen:%d\n",(int)strlen(str));
10 printf("sizeof:%d\n",(int)sizeof(str));
11 }
结果:
strlen:9
sizeof:10
由此可见,sizeof与strlen在求解字符串长度上最大的差异。
-
python字符串函数
2020-12-20 17:39:45生成字符串变量str='python String function'字符串长度获取:len(str)例:print '%s length=%d' % (str,len(str))连接字符串sStr1 = 'strcat'sStr2 = 'append'sStr1 += sStr2print sStr1复制字符串#strcpy(sStr1,... -
C语言经典100例编写函数求字符串求长度
2021-03-30 09:55:05题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 #include<stdio.h> int len(char *p){ int num=0; while(*p!='\0'){ //!!!!重点 p++; num++; } return num; } ... -
C语言编写函数求字符串长度的几种实现方法
2022-01-23 10:28:05我们都知道在C语言标准库string.h中有一个strlen()函数可以求得字符串长度,那么如果让我们自己写一个这样的函数如何去写呢?下面介绍三种实现的方法。 一、使用计数器的方法 所谓计数器方法,顾名思义,就是创建一... -
问题 : 【函数】求字符串的长度 简单 函数
2018-12-14 17:30:52编写一个求字符串长度的函数,其原型如下: int strlen(char str[]); 其中str[]表示待求长度的字符串,返回值是str[]的长度。 注意:主函数已经给出,只需提交strlen()函数及必要的头文件包含命令。 ... -
sql获取字符串长度函数
2019-12-19 11:52:381、lenght返回以字节为单位的字符串的长度 lenght(string) -- 字符串 示例: SELECT classfyname,LENGHT(lassfyname) ...2、char_lenght返回字符串长度 char_lenght(string) -- 字符串 示例: SELECT cl... -
Python如何查找字符串的长度?(代码示例)
2020-12-28 20:27:49本篇文章就来给大家介绍在Python中查找字符串长度的四种方法,希望对大家有所帮助。【相关视频教程推荐:Python视频教程】方法一:使用内置函数len。Python内置的函数len,可以返回容器中的项数。例:# 使用 len ... -
php 字符串长度函数
2020-08-03 10:24:27字符串长度函数 strlen() – 返回给定的字符串 string 的长度。 返回值:成功则返回字符串 string 的长度;如果 string 为空,则返回 0。 根据面试题整理的例子: $str = 'hello'; echo strlen($str), '<br>... -
求字符串长度的函数的几种实现方法
2017-07-20 13:50:53求字符串长度的函数的几种实现方法,包括计数器实现、指针减指针、递归等。 -
oracle取字符串长度的函数length()和hengthb()
2021-04-30 08:35:44oracle取字符串长度的函数length()和hengthb()lengthb(string)计算string所占的字节长度 :返回字符串的长度,单位是字节length(string)计算string所占的字符长度 :返回字符串的长度,单位是字符对于单字节字符,... -
获取字符串长度的函数sizeof()、strlen()、length()、size()详解和区别
2019-04-18 18:22:11在C++中计算长度的函数有四种,它们分别是sizeof() ,size(),strlen(),str.length()。 一.sizeof()和strlen()两者区别: 1)sizeof操作符的结果类型是size_t,该类型保证能容纳实现所建立的最大对象的字节大小。 ... -
C++获取字符串长度的几个函数方式
2021-05-19 07:54:31C/C++ strlen(str)、str.length()、str.size()、sizeof(str)都可以求字符串长度。其中str.length()、str.size()、sizeof(str)是用于求string类对象的成员函数strlen(str)是用于求字符数组的长度,其参数是char*。... -
C语言:自定义strlen函数,求字符串长度
2020-04-07 21:31:35模拟实现库函数strlen: 通常有三种方法 1.计数器方式 2.递归方式 3.指针方式 贴代码 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int my_strlen(const char*arr) { ... count... -
C语言字符串长度
2021-05-19 08:03:14C语言strlen函数教程在因为 strlen 函数时不包含最后的结束字符的,因此一般使用 strlen 函数计算的字符串的长度会比使用strlen函数详解语法size_t strlen(const char *str);参数参数描述str要计算长度的字符串。... -
C++获取字符串长度的几个函数
2018-03-17 08:22:14C/C++ strlen(str)、str.length()、str.size()、sizeof(str)都可以求字符串长度。其中str.length()、str.size()、sizeof(str)是用于求string类对象的成员函数strlen(str)是用于求字符数组的长度,其参数是char*。... -
测量字符串长度的函数
2020-12-24 06:03:28Q2:strlen函数计算字符串长度strlen()函数用来计算字符串的长度,其原型为: unsigned int strlen (char *s);参数说明:s为指定的字符串。strlen()用来计算指定的字符串s 的长度,不包括结束字符”\0”。返回值:... -
SQL中计算字符串的长度函数
2022-03-02 20:10:46SQL中计算字符长度的函数有 1、len(str) mysql中并不支持这个函数 2、char_length(str) 计算的是字符串中个...3、length(str) 计算的是字符串的长度 char_length('a好的') --输出 5 4、连接两个字符串函数 concat ... -
C语言求字符串数组的长度函数计算
2020-03-08 10:49:24常见的计算长度的函数有两个,sizeof()和strlen(),但是,它们之间的差别还是很大的。 sizeof():主要负责计算数组的长度; strlen():主要负责...(2)strlen():strlen,求字符串有效长度 例如: #in... -
C语言编写一个计算字符串长度的函数 my_strlen();
2021-05-10 08:27:21C语言编写一个计算字符串长度的函数 my_strlen(); 我的思路: 定义一个变量,从0计算,直到字符串遇到’\0’时结束。 #include<stdio.h> void my_strlen(char *str); int main() { char str[100]={0}; ... -
常用字符串长度计算函数
2017-05-09 08:50:47常见的获取字符串长度的方法包括如下几种。 1.使用sizeof获取字符串长度 sizeof的含义很明确,它用以获取字符数组的字节数(当然包括结束符\0)。对于ANSI字符串和UNICODE字符串,形式如下: sizeof(cs)/sizeof... -
三种方法求字符串长度
2022-01-02 09:33:35在求字符串长度时,第一时间会想到运用strlen这个函数,但对于初学者来说,除了掌握这个函数之外,还应当自己写函数来实现相似的功能。 接下来我列举了三种方法来求字符串长度,供大家参考: (1)运用strlen ... -
判断字符串长度函数
2017-02-06 17:31:35function lenstr(str){ var len = 0; for (var i=0; i var c = str.charCodeAt(i); //单字节加1 if ((c >= 0x0001 && c len++; } else { len+=2; -
c语言编写函数length求字符串的长度。
2021-12-24 13:59:45要求:在主函数main中输入字符串,并输出字符串的长度。不能使用strlen库函数。 例如:输入hello,则输出5。 #include<stdio.h> int length(char *s); int length(char *s) { int i=0; while(*s++!='\0') {... -
C语言中求字符串长度的函数my_strlen()的几种实现方法
2018-12-21 12:55:46C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到‘\0’,不是’\0’指针就往后加一。 int my_strlen(const char *str) { assert(str != NULL);//此句判段str是否为空指针... -
字符串长度函数strlen()。。字符串函数头文件string.h
2019-09-03 23:20:48strlen求字符串长度。 strcmp比较2个字符串是否一样。 strcat字符串连接操作。 strcpy字符串拷贝操作。 strncat字符串连接操作(前n个字符)。 strncpy字符串拷贝操作(前n个字符)。 strchr查询字串。 strstr 查询子串... -
写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。
2021-06-18 16:16:59写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。 解题思路: 字符串以\0作为结尾,则从第一个字符开始向后移动遇到\0认为字符串结束。 答案: #include <stdio.h> int mystrlen(char *...