Namespaces
Variants
Actions

towupper

From cppreference.com
< c‎ | string‎ | wide
 
 
 
Null-terminated wide strings
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)  
(C99)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
towupper
(C95)
(C95)
(C95)
(C95)(C99)
(C99)(C95)(C99)
(C95)(C99)
(C99)(C99)    

(C95)(C11)
(C95)(C11)
(C95)
(C95)(C11)
(C95)(C11)

(C95)(C11)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)(C11)

(C95)(C11)
(C95)(C11)  
(C95)
(C95)
(C95)

(C95)
 
Defined in header <wctype.h>
wint_t towupper( wint_t wc );
(since C95)

Converts the given wide character to uppercase, if possible.

[edit] Parameters

wc - wide character to be converted

[edit] Return value

Uppercase version of wc or unmodified wc if no uppercase version is listed in the current C locale.

[edit] Notes

Only 1:1 character mapping can be performed by this function, e.g. the uppercase form of 'ß' is (with some exceptions) the two-character string "SS", which cannot be obtained by towupper.

ISO 30112 specifies which pairs of Unicode characters are included in this mapping.

[edit] Example

Run this code
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
#include <locale.h>
 
int main(void)
{
 wchar_t wc = L'\u017f'; // Latin small letter Long S ('s')
 printf ("in the default locale, towupper(%#x) = %#x\n", wc, towupper(wc));
 setlocale (LC_ALL, "en_US.utf8");
 printf ("in Unicode locale, towupper(%#x) = %#x\n", wc, towupper(wc));
}

Output:

in the default locale, towupper(0x17f) = 0x17f
in Unicode locale, towupper(0x17f) = 0x53

[edit] References

  • C11 standard (ISO/IEC 9899:2011):
  • 7.30.3.1.2 The towupper function (p: 453)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.25.3.1.2 The towupper function (p: 399)

[edit] See also

(C95)
converts a wide character to lowercase
(function) [edit]
converts a character to uppercase
(function) [edit]
C++ documentation for towupper
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/string/wide/towupper&oldid=95922"

AltStyle によって変換されたページ (->オリジナル) /