The MCollate method

This method compares multibyte character string s1 to multibyte character string s2 for sort order according to the rules of the current locale.

int MCollate(const char *s1, const char *s2, 
   int nbytes1 = ITLocale::ScanToNul, 
   int nbytes2 = ITLocale::ScanToNul) const 

The nbytes1 and nbytes2 parameters specify the length of the s1 and s2 strings. You can provide an integer to specify the number of bytes in the corresponding string. Or you can use the constant ITLocale::ScanToNul (the default) to specify that the corresponding string is null-terminated.

This method returns an integer that is:
  • Greater than 0 if s1 is greater than (after) s2 in sort order
  • Less than 0 if s1 is less than (before) s2 in sort order
  • 0 if s1 is equal to s2 in sort order

If there is an error, this method returns -1. Call ITLocale::GetError() to retrieve a specific error message.