描述
sqlite3_stricmp和sqlite3_strnicmp功能允许应用程序和扩展使用与比较标识符时内部使用的“case独立性”相同的定义,以不区分大小写的方式来比较包含UTF-8字符串的两个缓冲区的内容。
C / C ++语法
int sqlite3_strnicmp(const char *, const char *, int); |
PB语法
FUNCTION sqlite3_strnicmp ( _ BYREF sz1 AS ASCIIZ, _ BYREF sz2 AS ASCIIZ, _ BYVAL nLen AS LONG _ ) AS LONG |
参数
sz1
[in]要比较的第一个字符串。
sz2
[in]第二个要比较的字符串。
nLen
[in]比较的最大长度。
返回值
<0,如果sz1在词汇上小于sz2到给定长度;如果两个字符串相等于给定长度,则为0;如果sz1在词法上大于sz2直到给定长度,则为整数>0。
C ++实现代码
SQLITE_API int sqlite3_strnicmp(const char *zLeft, const char *zRight, int N){
register unsigned char *a, *b;
a = (unsigned char *)zLeft;
b = (unsigned char *)zRight;
while( N-- > 0 && *a!=0 && UpperToLower[*a]==UpperToLower[*b]){ a++; b++; }
return N<0 ? 0 : UpperToLower[*a] - UpperToLower[*b];
}