Next: , Previous: tolower, Up: Ctype


3.15 toupper, toupper_l—translate characters to uppercase

Synopsis

     #include <ctype.h>
     int toupper(int c);
     int _toupper(int c);
     
     #include <ctype.h>
     int toupper_l(int c, locale_t locale);
     

Description
toupper is a macro which converts lowercase characters to uppercase, leaving all other characters unchanged. It is only defined when c is an integer in the range EOF to 255.

toupper_l is like toupper 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.

You can use a compiled subroutine instead of the macro definition by undefining this macro using `#undef toupper' or `#undef toupper_l'.

_toupper performs the same conversion as toupper, but should only be used when c is known to be a lowercase character (az).


Returns
toupper, toupper_l return the uppercase equivalent of c when c is a lowercase character, and c otherwise.

_toupper returns the uppercase equivalent of c when it is a character between a and z. If c is not one of these characters, the behaviour of _toupper is undefined.


Portability
toupper is ANSI C. _toupper is not recommended for portable programs. toupper_l is POSIX-1.2008.

No supporting OS subroutines are required.