ascii_ncasecmp
Description:
Compare s1
and s2
, ignoring the case of ASCII characters and any characters after the first n
in each
string.
If either string is less than n
bytes long, comparison will stop at the first nul byte encountered.
Unlike the BSD `strncasecmp()` function, this only recognizes standard ASCII letters and ignores the locale, treating all non-ASCII characters as if they are not letters.
The same warning as in [func@GLib.ascii_strcasecmp] applies: Use this function only on strings known to be in encodings where bytes corresponding to ASCII letters always represent themselves.
Example: Compare n bytes of strings, ignoring the case:
public static int main (string[] args) {
string str1 = "YOU WILL __OBEY__ THE DALEKS!";
string str2 = "You will //obey// the daleks!";
// Compare first 9 characters:
// Output: ``0``
int res = str1.ascii_ncasecmp (str2, 9);
print ("%d\n", res);
// Compare first 10 characters:
// Output: ``48``
res = str1.ascii_ncasecmp (str2, 10);
print ("%d\n", res);
return 0;
}
valac --pkg glib-2.0 string.ascii_ncasecmp.vala
Parameters:
s2 |
string to compare with |
n |
number of characters to compare |
s1 |
string to compare with |
Returns:
0 if the strings match, a negative value if |