C strlen

来源:互联网 发布:通话变声器软件 编辑:程序博客网 时间:2024/05/17 23:14

C strlen

头文件

string.h

函数原型

size_t strlen(char const *string);

这个size_t是在头文件stddef.h中定义的,是一个无符号整型类型。

注意事项

注意它的返回值,是一个无符号整数类型(可能为unsigned int 或者 unsigned long)。下面的代码就会因此产生问题:

/** * 两个无符号整型相减法,最后依旧是无符号类型的,也就是不可能为负数 * 因此这个if将恒返回true,没有起到对比两个字符串长度的作用 * */if(strlen(stringA) - strlen(stringB) >= 0) .... 

对于这个问题,我们需要将strlen的返回值强转成有符号类型就可以了。注意不要随意转换为int,因为 long 和 int 的宽度未必相同。

0 0
原创粉丝点击