转载自https://www.cnblogs.com/chenduzizhong/p/6032496.html


头文件:#include <string.h>

strlen()函数用来计算字符串的长度,其原型为:
    unsigned int strlen (char *s);

【参数说明】s为指定的字符串。

strlen()用来计算指定的字符串s 的长度,不包括结束字符"\0"。

【返回值】返回字符串s 的字符数。

注意一下字符数组,例如
    char str[100] = "http://see.xidian.edu.cn/cpp/u/biaozhunku/";
定义了一个大小为100的字符数组,但是仅有开始的11个字符被初始化了,剩下的都是0,所以 sizeof(str) 等于100,strlen(str) 等于11。

如果字符的个数等于字符数组的大小,那么strlen()的返回值就无法确定了,例如
    char str[6] = "abcxyz";
strlen(str)的返回值将是不确定的。因为str的结尾不是0,strlen()会继续向后检索,直到遇到'\0',而这些区域的内容是不确定的。

注意:strlen() 函数计算的是字符串的实际长度,遇到第一个'\0'结束。如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到'\0'停止。而sizeof返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen()是函数。

【函数示例】取得字符串 的长度。

#include<stdio.h>
#include<string.h>
int main()
{char *str1 = "http://see.xidian.edu.cn/cpp/u/shipin/";char str2[100] = "http://see.xidian.edu.cn/cpp/u/shipin_liming/";char str3[5] = "12345";printf("strlen(str1)=%d, sizeof(str1)=%d\n", strlen(str1), sizeof(str1));printf("strlen(str2)=%d, sizeof(str2)=%d\n", strlen(str2), sizeof(str2));printf("strlen(str3)=%d, sizeof(str3)=%d\n", strlen(str3), sizeof(str3));return 0;
}

运行结果:
strlen(str1)=38, sizeof(str1)=4
strlen(str1)=45, sizeof(str1)=100
strlen(str1)=53, sizeof(str1)=5

上面的运行结果,strlen(str1)=53显然不对,53是没有意义的。

C语言strlen()函数:返回字符串的长度相关推荐

  1. c语言子函数返回字符串的正确方式

    c语言子函数返回字符串的错误 最近做leetcode上的一道题,通过子函数返回字符串.开始时用局部变量的字符串返回的,认为返回了字符串的首地址,便可以get到这个字符串,但由于局部变量离开函数后被回收 ...

  2. 不使用strlen函数求字符串的长度的方法

    今天翻到了一些有趣的帖子,其中有一个是不使用strlen函数求字符串的长度. 我首先想到的是用一个变量做累加器,然后遍历循环这个字符串. #include <stdio.h> int st ...

  3. R语言str_length函数计算字符串的长度

    R语言str_length函数计算字符串的长度 目录 R语言str_length函数计算字符串的长度 #导入包和库 #仿真数据

  4. C语言strlen函数求字符串长度及自己实现

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

  5. c语言能返回字符串吗,C语言中函数返回字符串的四种方法

    在讨论着四种方法以前,首先要对函数有一个简单的认识,不管是在形实结合时,仍是在return语句返回时,都有一个拷贝的过程.你传进来的参数是个值,天然函数在工做以前要把这个值拷贝一份供本身使用,你传进来 ...

  6. C语言strlen函数与sizeof函数的区别

    strlen函数与sizeof函数的区别 strlen函数和sizeof函数都可以用于获取字符串的长度,但是它们有几个重要的区别. strlen函数返回字符串的长度,而sizeof函数返回的是整个数组 ...

  7. 切割字符串长度php,C++_C语言中计算字符串长度与分割字符串的方法,C语言strlen()函数:返回字符串 - phpStudy...

    C语言中计算字符串长度与分割字符串的方法 C语言strlen()函数:返回字符串的长度头文件: #include strlen()函数用来计算字符串的长度,其原型为: unsigned int str ...

  8. R语言str_subset函数和str_which函数:str_subset函数提取字符串向量中所有包含匹配字符的字符串、str_which函数返回字符串向量中所有包含匹配字符的位置(索引)

    R语言str_subset函数和str_which函数:str_subset函数提取字符串向量中所有包含匹配字符的字符串.str_which函数返回字符串向量中所有包含匹配字符的位置(索引) 目录

  9. C语言 函数返回字符串的方法

    函数返回字符串方法 字符串指针作为函数形参传入,并返回该指针 使用malloc函数动态分配(注意内存释放) 返回一个静态局部变量 static 使用全局变量 strcpy函数用法 字符串指针作为函数形 ...

  10. C语言 strlen 函数 - C语言零基础入门教程

    目录 一.strlen 函数简介 二.strlen 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.strlen 函数简介 ...

最新文章

  1. 30分钟从工作电脑入侵公司内网!Win11:更新强制要求有TPM2.0,知道为啥了吧?...
  2. iPhone的UDID与push中使用的device token的关系
  3. 视觉SLAM十四讲学习笔记-第六讲-非线性优化的状态估计问题
  4. 计算机的编程发源地,计算机编程: C典型上机试题
  5. wxpython pyqt_python gui 中三大框架tkinter ,wxpython, pyqt如何选择
  6. [BZOJ4756]Promotion Counting
  7. script language=javascriptwindow.location.href=http://blog.securitycn.net/script
  8. C语言数字雨--90行代码
  9. zabbix开启SNMPTrap功能
  10. curl安装的docker卸载
  11. python装逼代码_能够让你装逼的10个Python小技巧
  12. 2021杭电多校第三场 D题—Game on Plane(思维题)
  13. docker,deamon.json文件说明
  14. kaka启动出现:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000c00000, 1073,0)
  15. userland免root运行linux,UserLAnd(GNU/Linux安装)
  16. Radio Userland已更新,版本号未更改...
  17. TP6使用守护进程完成队列任务
  18. webstorm热更新
  19. 基于 MATLAB fitcsvm 的 OVR SVM 多分类器实现
  20. 什么是服务器未响应手机,手机服务器未响应

热门文章

  1. EasyRecovery最新中文Win/Mac全版本下载安装激活数据恢复软件
  2. 「深圳二手房」成交激增会不会是楼市转机的标志?
  3. 鸽巢原理 Ramsey数
  4. 我们所看到的迎宾机器人,真的好用吗?
  5. python如何从文本中提取数据_如何从文本文件中提取数据?
  6. Gazebo机器人仿真
  7. [NOIP 模拟]疫情延迟 二分+Spfa
  8. 【Java】HTTP请求工具类
  9. 【智能物流】200亿规模的制造企业,如何规划供应链物流体系?
  10. 操作系统 三(存储管理)