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
 | |