TOUPPER(3)

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

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

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.

OpenBSD always uses the C locale for these functions, ignoring the global locale, the thread-specific locale, and 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
On systems supporting non-ASCII single-byte character encodings, the results of toupper() and _toupper() may depend on the LC_CTYPE locale(1).

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)

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 OpenBSD 6.2.

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