Multibyte character string termination
Some APIs that use ITLocale assume that character strings are terminated with a null character, while others assume that a string consists of a pointer and length indicating the number of bytes in the string. ITLocale methods can be used in both cases.
Multibyte character strings are passed to ITLocale methods
in two arguments:
- const char *s specifies a multibyte string.
- int nbytes specifies the length of the string.
The actual argument names might vary.
If nbytes is the value ITLocale::ScanToNul, the method treats s as a null-terminated string. Otherwise, the method assumes s contains nbytes bytes.
The terminator of a null-terminated string is a single byte whose value is 0. Multibyte character strings that are not null-terminated might contain null characters, but these characters do not indicate the end of the string.