strlen和sizeof求字符串长度的区别
1、用法不同
sizeof可以用类型做参数。
strlen只能用char*做参数,且必须是以''\\0''结尾的。sizeof还可以用函数做参数,比如:
short f();
printf("%d\\n", sizeof(f()));
输出的结果是sizeof(short),即2。
2、功能不同
sizeof的功能能是,获得保证,能容纳实现所建立的最大对象的字节大小。
strlen的功能是返回字符串的长度,该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL。返回的长度大小不包括NULL。
3、意思不同
sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。
strlen(...)是函数,要在运行时才能计算。参数必须是字符型指针(char*)。当数组名作为参数传入时,实际上数组就退化成指针了。
能正常使用 strlen 的这个网站是因为在这个网站中定义了strlen这个函数并被包含进去了,
假如你A网站是正常的,可能有一个fun.asp的文件中写有
function strlen开头
end function结束的代码(定义一个名为strlen的函数)
在A网站的asp.asp页面中先用将FUN.ASP文件包含进来,这样就能使用strlen这个自定义的函数了。
你可以在A网站中找到这个函数并COPY到错误网站中相应位置。(或者直接放在连接数据库的页面)
____ 以上是针对补充的回答 _______________
是ASP吗?
如果是ASP的的话,strLen不是系统自带的函数,作者的意图可能是想用一个strLen的自定义函数吧。
len是系统自带函数。
出现这种情况可能是strLen这个函数不存在或者函数体内有错误,你的程序中可能用On Error Resume Next语句来容错处理了,就没有报具体错误出来。你把它换成len函数后,由于是系统自带的函数,所以就不会有错了。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!