# towctrans

From cppreference.com
< c‎ | string‎ | wide

Defined in header `<wctype.h>` |  |
wint_t towctrans( wint_t wc, wctrans_t desc ); |  | (since C95)

Maps the wide character `wc` using the current C locale's LC_CTYPE mapping category identified by `desc`.

### Parameters

wc | - | the wide character to map
desc | - | the LC_CTYPE mapping, obtained from a call to wctrans

### Return value

The mapped value of `wc` using the mapping identified by `desc` in LC_CTYPE facet of the current C locale.

### Example

Run this code

    #include <locale.h>
    #include <wctype.h>
    #include <wchar.h>
    #include <stdio.h>

    int main(void)
    {
        setlocale(LC_ALL, "ja_JP.UTF-8");
        wchar_t kana[] = L"ヒラガナ";
        size_t sz = sizeof kana / sizeof *kana;
        wchar_t hira[sz];
        for(size_t n = 0; n < sz; ++n)
            hira[n] = towctrans(kana[n], wctrans("tojhira"));
        printf("katakana characters %ls are %ls in hiragana\n", kana, hira);
    }

Output:

    katakana characters ヒラガナ are ひらがな in hiragana

### References

- C11 standard (ISO/IEC 9899:2011):

  - 7.30.3.2.1 The towctrans function (p: 454)

- C99 standard (ISO/IEC 9899:1999):

  - 7.25.3.2,1 The towctrans function (p: 400)

### See also

wctrans (C95) | looks up a character mapping category in the current C locale (function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/string/wide/towctrans&oldid=76835"