conv(3)
Name
toupper, tolower, _toupper, _tolower, toascii − translate characters
Syntax
#include <ctype.h>
int toupper(c)
int c;
int tolower(c)
int c;
int _toupper(c)
int c;
int _tolower(c)
int c;
int toascii(c)
int c;
Description
The functions toupper and tolower have as their domain the range of the getc function. If the argument to toupper represents a lowercase letter, the output from the fuction is the corresponding uppercase letter. If the argument to tolower represents an uppercase letter, the result is the corresponding lowercase letter.
The case of c depends on the definition of the character in the language database. Because the case of a character can vary between language databases, the case of c depends on what language database is in use. Specifically, the case of arguments depends on what property tables are associated the LC_CTYPE category. Property tables are associated with the LC_CTYPE category by a successful call to the setlocale function that includes the LC_CTYPE category. If no successful call to define LC_CTYPE has occurred or if the character case information is unavailable for the language in use, the rules of the ASCII coded character set determine the case of arguments.
If the argument to the toupper function does not have the uppercase attribute, toupper returns the argument unchanged. Likewise, if the argument to the tolower function does not have the lowercase attribute, tolower returns it unchanged.
The macros _toupper and _tolower have the same affect as toupper and tolower. The difference is that the argument to the macros must be an ASCII character (that is, a character in the domain −1 to 127) and the argument must have the appropriate case. Arguments to _toupper must have the uppercase attribute and arguments to _tolower must the lowercase attribute. The result of supplying arguments to these macros that are outside the domain or do not have the appropriate case is undefined. These macros operate faster than the toupper and tolower functions.
The macro toascii converts its argument to the ASCII character set. The macro converts its argument by truncating the numerical representation of the argument so that it is between −1 and 127. You can use this macro when you move an application to a system other than an ULTRIX system.
International Environment
LC_CTYPEIf this environment variable is set and valid, conv uses the international language database named in the definition to determine character classification rules.