Go to the first, previous, next, last section, table of contents.


Mapping of wide characters.

The classification functions are also generalized by the ISO C standard. Instead of just allowing the two standard mappings, a locale can contain others. Again, the localedef program already supports generating such locale data files.

Data Type: wctrans_t
This data type is defined as a scalar type which can hold a value representing the locale-dependent character mapping. There is no way to construct such a value apar from using the return value of the wctrans function.

This type is defined in `wctype.h'.

Function: wctrans_t wctrans (const char *property)
The wctrans function has to be used to find out whether a named mapping is defined in the current locale selected for the LC_CTYPE category. If the returned value is non-zero, you can use it afterwards in calls to towctrans. If the return value is zero no such mapping is known in the current locale.

Beside locale-specific mappings there are two mappings which are guaranteed to be available in every locale:

@multitable @columnfractions .5 .5

  • "tolower" @tab "toupper" These functions are declared in `wctype.h'.
  • Function: wint_t towctrans (wint_t wc, wctrans_t desc)
    towctrans maps the input character wc according to the rules of the mapping for which desc is a descriptor, and returns the value it finds. desc must be obtained by a successful call to wctrans. This function is declared in `wctype.h'.
    For the generally available mappings, the ISO C standard defines convenient shortcuts so that it is not necessary to call wctrans for them.
    Function: wint_t towlower (wint_t wc)
    If wc is an upper-case letter, towlower returns the corresponding lower-case letter. If wc is not an upper-case letter, wc is returned unchanged. towlower can be implemented using
    towctrans (wc, wctrans ("tolower"))
    
    This function is declared in `wctype.h'.
    Function: wint_t towupper (wint_t wc)
    If wc is a lower-case letter, towupper returns the corresponding upper-case letter. Otherwise wc is returned unchanged. towupper can be implemented using
    towctrans (wc, wctrans ("toupper"))
    
    This function is declared in `wctype.h'.
    The same warnings given in the last section for the use of the wide character classification functions apply here. It is not possible to simply cast a char type value to a wint_t and use it as an argument to towctrans calls.


    Go to the first, previous, next, last section, table of contents.