【C进阶】一不小心就被'strlen'给坑了!

1、聊一聊

和bug菌同龄的小伙伴在听这首歌的时候,脑海中应该很有画面感吧,转眼间这首歌曲已经有20年了!

今天主要是跟大家分析一下C语言strlen需要注意的几点,编码的时候稍微不注意就可能掉坑,如果大家还有遇到其他的坑记得文末分享留言!

2、strlen掉坑实例

就先贴上一个掉坑的例子,然后在跟大家总结分享下原因和避坑指南:

编码目标:

根据字符串起点打印不同偏移(Offset)到结尾的字符串,如果Offset为负数就向前移动并打印到字符串末尾。

掉坑示例:
1#include <stdio.h>
2#include <string.h> 
3/***************************************
4 * Fuction:sGetStr
5 * Decri  :打印相应位置到末尾的字符串 
6 * Author :(欢迎关注公众号:最后一个bug) 
7 ***************************************/
8int sGetStr(const char * str,int offset)
9{
10   if(offset > strlen(str)) 
11    {
12        printf('offset Over Error!!\n');
13    }
14    else
15    {
16        printf('%s\n',str + offset); 
17    } 
18} 
19
(0)

相关推荐