asp len取得中文字符串长度的问题
答案:2 悬赏:80
解决时间 2021-02-19 10:26
- 提问者网友:小姐请专情
- 2021-02-18 15:38
我用len("中午")这样来取得这个字符串长度,会报错,不知道这个问题该怎么解决呢,希望谁能帮一下,谢谢了
最佳答案
- 二级知识专家网友:初心未变
- 2021-02-18 16:45
'**************************************************
'函数名:strLength
'作 用:求字符串长度。汉字算两个字符,英文算一个字符。
'参 数:str ----要求长度的字符串
'返回值:字符串长度
'**************************************************
Function strLength(str)
ON ERROR RESUME NEXT
dim WINNT_CHINESE
WINNT_CHINESE = (len("中国")=2)
if WINNT_CHINESE then
dim l,t,c
dim i
l=len(str)
t=l
for i=1 to l
c=asc(mid(str,i,1))
if c<0 then c=c+65536
if c>255 then
t=t+1
End if
next
strLength=t
Else
strLength=len(str)
End if
if err.number<>0 then err.clear
End Function
一个汉字算2个字节
'函数名:strLength
'作 用:求字符串长度。汉字算两个字符,英文算一个字符。
'参 数:str ----要求长度的字符串
'返回值:字符串长度
'**************************************************
Function strLength(str)
ON ERROR RESUME NEXT
dim WINNT_CHINESE
WINNT_CHINESE = (len("中国")=2)
if WINNT_CHINESE then
dim l,t,c
dim i
l=len(str)
t=l
for i=1 to l
c=asc(mid(str,i,1))
if c<0 then c=c+65536
if c>255 then
t=t+1
End if
next
strLength=t
Else
strLength=len(str)
End if
if err.number<>0 then err.clear
End Function
一个汉字算2个字节
全部回答
- 1楼网友:不服输的倔强
- 2021-02-18 18:23
#include <stdio.h> #include <string.h> #define len 1024 size_t strlen(char x[],char y[]); int main() { char str1[len] = "\0"; char str2[len] = "\0"; printf("请输入第一段文字:\n"); scanf(" %s",str1); printf("请输入第二段文字:\n"); scanf(" %s",str2); printf("不同的元素个数为:%u\n",strlen(str1,str2)); return 0; } size_t strlen(char x[],char y[]) //按你所说的,用大的数组长度减去小的数组长度; { size_t len = 0; size_t len_x = strlen(x); size_t len_y = strlen(y); if(len_x > len_y) len = len_x - len_y; else len = len_y - len_x;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |