设为off时,比对时按顺序从左到右,各取一个字符比对,一样就继续. 当某个字符串取完了就不继续了, 哪怕另一个字符串仍有字符也算相等。
你的两个变量长度都是50,当比较到7位时,f1.lxfs的第7位是3,y1.lxfs的第7位是空格,所以结果位F
你的两个变量长度都是50,当比较到7位时,f1.lxfs的第7位是3,y1.lxfs的第7位是空格,所以结果位F
?strcmp("123","123") ?strcmp("1234","123") ?strcmp("123","1234") ?strcmp("1235","1234") ?strcmp("1234","1235") FUNCTION strcmp(s1, s2) i = 1 DO WHILE (i<LEN(s1) OR i<LEN(s2)) AND ASC(SUBSTR(s1,i,1))==ASC(SUBSTR(s2,i,1)) i = i + 1 ENDDO ret = ASC(SUBSTR(s1,i,1)) - ASC(SUBSTR(s2,i,1)) RETURN IIF(ret==0,0,IIF(ret>0,1,-1)) ENDFOR
[此贴子已经被作者于2021-8-22 16:31编辑过]