Next: , Previous: , Up: Ctype   [Contents][Index]


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.