作为获取字符串长度的函数strnlen(),在上一版本strlen()函数的基础上增加了获取长度的限制。

函数定义如下:

size_t strnlen(const char *s, size_t count);

代码实现如下:

size_t Test_strnlen(const char *s, size_t count)
{const char *sc;for (sc = s; count-- && *sc != '\0'; ++sc);return sc - s;
}

实现原理:
根据字符串首地址向后移动(移动的最大字节数小于等于count),得到移动的次数作为字节数,如果字符串中间有’\0’也会停止。

C语言 strnlen函数实现相关推荐

  1. 写的函数符号表里没有_你有没有想过,C语言 main 函数到底为啥这么写?

    但凡是学过C语言的人,都知道要先写main函数,然而很多时候我们看到的main函数却各有差异,这究竟是为啥?哪种是对的呢?今天我们就来聊聊main函数. 那么main函数一共有多少个版本呢? 1.ma ...

  2. R语言str_trim函数去除字符串中头部和尾部的空格

    R语言str_trim函数去除字符串中头部和尾部的空格 目录 R语言str_trim函数去除字符串中头部和尾部的空格 #导入包和库 #仿

  3. R语言sqrt函数为数值开平方根实战

    R语言sqrt函数为数值开平方根实战 目录 R语言sqrt函数为数值开平方根实战 #基本语法 #sqrt函数开平方根

  4. R语言数学函数:abs绝对值、sqrt平方根、ceiling向上近似整数、floor向下近似整数、trunc去除小数部分、round近似到指定小数位、signif近似到有效数字、三角函数、指数、对数

    R语言数学函数:abs绝对值.sqrt平方根.ceiling向上近似整数.floor向下近似整数.trunc去除小数部分.round近似到指定小数位.signif近似到有效数字.三角函数.指数.对数 ...

  5. R语言sd函数计算数值标准差实战(Standard Deviation)

    R语言sd函数计算数值标准差实战(Standard Deviation) 目录 R语言sd函数计算数值标准差实战(Standard Deviation) #基本语法 #sd

  6. R语言optimize函数一维优化实战

    R语言optimize函数一维优化实战 目录 R语言optimize函数一维优化实战 #基础语法 #优化用户自定义的函数

  7. R语言rev函数对数据对象(向量、dataframe通过行或者列)反序实战

    R语言rev函数对数据对象(向量.dataframe通过行或者列)反序实战 目录 R语言rev函数对数据对象(向量.dataframe通过行或者列)反序实战

  8. R语言用户自定义函数的语法结构、编写自定义统计值计算函数(使用ifelse结构计算均值和标准差等)、编写自定义日期格式化(format)函数(switch函数使用不同分枝格式化日期数据)、应用自定函数

    R语言用户自定义函数的语法结构.编写自定义统计值计算函数(使用ifelse结构计算均值和标准差等).编写自定义日期格式化(format)函数(switch函数使用不同分枝格式化日期数据).应用自定函数 ...

  9. R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数

    R语言merge函数全连接dataframe数据(Full (outer) join).merge函数进行全连接必须将参数all设置为true(all=TRUE).默认merge函数通过公共列名合并数 ...

最新文章

  1. [Asp.net 5] Options-配置文件(2)
  2. 借助Scrum工作室使用敏捷原则提升组织响应能力
  3. 近20个绚丽实用的jQuery/CSS3侧边栏菜单
  4. leetcode算法题--一和零★
  5. ie11上vue中使用elementui的input框无法输入中文
  6. jQuery 源码解析一:jQuery 类库整体架构设计解析
  7. vs2017安装QT开发插件
  8. python改文件夹名称_Python 批量修改文件夹名称
  9. 连接到linux桌面,widows 远程连接到linux 桌面!
  10. 不二少年在路上之兄弟连完美落地
  11. 被各种注解搞晕了?那快来看看Spring Bean注解详解!
  12. 网络流量监控软件——MRTG(Multi Router Traffic Grapher)
  13. android 日倒计时计算器,倒计时(倒数日在线计算)
  14. 英特尔SSD 610p明年Q4发布:3D闪存/最大2TB
  15. 外卖跑腿APP开发的优势和功能
  16. 《如何让你爱的人爱上你》——莉尔·朗兹[美]
  17. 如何制作URL文件_艾孜尔江撰
  18. 信息系统管理工程师与项目管理师
  19. 三菱FX3U 485ADP与4台欧姆龙E5cc温控器远程+本地通讯程序
  20. QQ空间等客户端的菜单弹出动画

热门文章

  1. 教你彻底学会Java序列化和反序列化
  2. 2013年度开源社区年会,3W咖啡免费让你更多接触开源
  3. (转)数据库查询速度慢的原因
  4. Java容器 | 基于源码分析List集合体系
  5. MySQL基础篇(07):用户和权限管理,日志体系简介
  6. Socket编程实践(11) --epoll原理与封装
  7. 异常处理:try-catch-finally与throws的区别及使用情况
  8. C++语言(11)——C++类成员函数调用分析
  9. ceph Dispatcher模块分析
  10. C语言对结构体何时用- , 何时用.