Defined in header <ctype.h> | ||||
---|---|---|---|---|
|
Converts the given character to uppercase according to the character conversion rules defined by the currently installed C locale.
In the default "C" locale, the following lowercase letters abcdefghijklmnopqrstuvwxyz
are replaced with respective uppercase letters ABCDEFGHIJKLMNOPQRSTUVWXYZ
.
Parameters
ch | - | character to be converted. If the value of ch is not representable as unsigned char and does not equal EOF , the behavior is undefined. |
Return value
Uppercase version of ch
or unmodified ch
if no uppercase version is listed in the current C locale.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <stdio.h> #include <ctype.h> #include <locale.h> #include <limits.h> int main( void ) { /* In the default locale: */ unsigned char u; for (unsigned char l=0; l<UCHAR_MAX; l++) { u = toupper (l); if (l!=u) printf ( "%c%c " , l,u); } printf ( "\n\n" ); unsigned char c = '\xb8' ; // the character Ž in ISO-8859-15 // but ´ (acute accent) in ISO-8859-1 unsigned char c2 = c; // for printing setlocale (LC_ALL, "en_US.iso88591" ); printf ( "in iso8859-1, toupper('0x%x') gives 0x%x\n" , c2, toupper (c)); setlocale (LC_ALL, "en_US.iso885915" ); printf ( "in iso8859-15, toupper('0x%x') gives 0x%x\n" , c2, toupper (c)); } |
Output:
1 2 3 4 | aA bB cC dD eE fF gG hH iI jJ kK lL mM nN oO pP qQ rR sS tT uU vV wW xX yY zZ in iso8859-1, toupper ( '0xb8' ) gives 0xb8 in iso8859-15, toupper ( '0xb8' ) gives 0xb4 |
References
- C11 standard (ISO/IEC 9899:2011):
- 7.4.2.2 The toupper function (p: 204)
- C99 standard (ISO/IEC 9899:1999):
- 7.4.2.2 The toupper function (p: 185)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.3.2.2 The toupper function
See also
converts a character to lowercase (function) | |
(C95) | converts a wide character to uppercase (function) |
C++ documentation for toupper |
Please login to continue.