strcoll
From cppreference.com
| Defined in header <string.h>
|
||
| int strcoll( const char *lhs, const char *rhs ); |
||
Compares two null-terminated byte strings according to the current locale as defined by the LC_COLLATE category.
Contents |
[edit] Parameters
| lhs, rhs | - | pointers to the null-terminated byte strings to compare |
[edit] Return value
Negative value if lhs is less than rhs.
0 if lhs is equal to rhs.
Positive value if lhs is greater than rhs.
[edit] Example
Run this code
#include <stdio.h> #include <string.h> #include <locale.h> int main(void) { setlocale(LC_COLLATE, "cs_CZ.iso88592"); const char* s1 = "hrnec"; const char* s2 = "chrt"; printf("In the Czech locale: "); if(strcoll(s1, s2) < 0) printf("%s before %s\n", s1, s2); else printf("%s before %s\n", s2, s1); printf("In lexicographical comparison: "); if(strcmp(s1, s2) < 0) printf("%s before %s\n", s1, s2); else printf("%s before %s\n", s2, s1); }
Output:
In the Czech locale: hrnec before chrt In lexicographical comparison: chrt before hrnec
[edit] See also
| compares two strings (function) | |
| compares a certain amount of characters of two strings (function) | |
| compares two buffers (function) | |
| C++ documentation for strcoll
| |