strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值。
sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。
需要注意以下的区别:
Char str[10];
Str=”error”;
Sizeof(str); 得到的值是10
Strlen(str); 得到的值是5
有时候会把字符串赋给一个数组,然后用sizeof去计算它的长度,这样就出错了。需要注意。