If the character is n or fewer bytes, the mbtowc function converts the multibyte character pointed to by s to its wide- character equivalent. If the character is invalid or greater than n bytes, the function returns -1 to indicate an error. If pwc is a NULL pointer and s is not a null pointer, the function determines the number of bytes that constitute the multibyte character pointed to by s (regardless of the value of n). This function is affected by the LC_CTYPE category of the program's current locale.