随笔分类 - C/C++库函数的实现
摘要:itoa函数相对于atoi函数,比较简单,还是要注意考虑的全面。
阅读全文
摘要:atio就是将ASCII码表示的字符为int型数据,看似简单的问题,实际上需要考虑的很多。对于简单的问题,考虑是否全面就显得特别重要。
阅读全文
摘要:本函数给出了几种strcat与strncat的实现,有ugly implementation,也有good implementation。并参考标准库中的implementation,最后给出了比较好的implementation。
阅读全文
摘要:本函数给出了几种strcpy与strncpy的实现,有ugly implementation,也有good implementation。并参考标准库中的implementation,最后给出了比较好的implementation。
阅读全文
摘要:本函数给出了几种strlen的实现,有ugly implementation,也有good implementation。并参考标准库中的implementation,最后给出了比较好的implementation。
求字符串长度,可通过两种方式实现:
是在遍历字符串中字符的时候用一个计数器记录字符个数,如下面函数_strlen_1中所示;
可用指向字符串截尾的指针减去指向字符串开始的指针得到,这种方式写出的代码更加简洁,也是库函数采用的实现方式,如函数_strlen_2、_strlen_3、_strlen_4中采用的方式。
标准库函数并没有输入合法性检查,这将输入合法性检查的任务推给了函数的调用者。
对于strlen函数,好的implementation要考虑一下几点:
函数参数应为const;
返回值应为unsigned int;
注意输入合法性检查。
阅读全文