TOUPPER(3)

NAME
toupper, toupper_l, _toupper - lower case to upper case letter conversion

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

DESCRIPTION
The toupper() and toupper_l() functions convert a lower-case letter to the corresponding upper-case letter. The _toupper() function is identical to toupper() except that c must be a lower-case letter.

toupper() and _toupper() use the category LC_CTYPE of the global locale or of the thread locale. The function toupper_l() uses the locale argument.

RETURN VALUES
If the argument to the toupper() or toupper_l() function is a lower-case letter, the corresponding upper-case letter is returned if there is one; otherwise the argument is returned unchanged. If the argument to the _toupper() function is a lower-case letter, the corresponding upper-case letter is returned; otherwise the output is undefined.

ENVIRONMENT

SEE ALSO
isalnum(3), isalpha(3), isascii(3), isblank(3), iscntrl(3), isdigit(3), isgraph(3), islower(3), isprint(3), ispunct(3), isspace(3), isupper(3), isxdigit(3), stdio(3), toascii(3), tolower(3), towupper(3), ascii(7) locale(1).

STANDARDS
The toupper() function conforms to ansiC, and toupper_l() to p1003.1-2008.

HISTORY
The toupper() function first appeared in AT&T UNIX and acquired the current semantics in AT&T UNIX III, where _toupper() first appeared.

The toupper_l() function has been available since adJ 5.6 OpenBSD 6.2.

CAVEATS
The argument c must be EOF or representable as an unsigned char; otherwise, the result is undefined.