### 4.31 `towupper`, `towupper_l`—translate wide characters to uppercase ¶

Synopsis

    #include <wctype.h>
    wint_t towupper(wint_t c);

    #include <wctype.h>
    wint_t towupper_l(wint_t c, locale_t locale);

Description
`towupper` is a function which converts lowercase wide characters to uppercase, leaving all other characters unchanged.

`towupper_l` is like `towupper` but performs the function based on the locale specified by the locale object locale. If locale is LC_GLOBAL_LOCALE or not a valid locale object, the behaviour is undefined.

Returns
`towupper`, `towupper_l` return the uppercase equivalent of c when it is a lowercase wide character, otherwise, it returns the input character.

Portability
`towupper` is C99. `towupper_l` is POSIX-1.2008.

No supporting OS subroutines are required.