The wctrans() function is defined in <cwctype> header file.
wctrans() prototype
wctrans_t wctrans(const char* str);
The wctrans() function takes a C string as its argument and returns a value of type wctrans_t that is used for mapping a wide character.
wctrans() Parameters
- str: C string specifying the desired transformation.
wctrans() Return value
- The wctrans() function returns a wctrans_t object that can be used with towctrans() for mapping wide characters.
- If str doesn't provide a mapping supported by the current C locale, it returns zero.
Example: How wctrans() function works?
#include <cwctype>
#include <iostream>
#include <cwchar>
#include <clocale>
using namespace std;
int main()
{
setlocale(LC_ALL, "en_US.UTF-8");
wchar_t str[] = L"Ŝŵitĉhiňģ Ćăse";
wcout << L"Before transformation" << endl;
wcout << str << endl;
for(int i=0; i<wcslen(str); i++)
{
if (iswctype(str[i], wctype("lower")))
str[i] = towctrans(str[i], wctrans("toupper"));
else if (iswctype(str[i], wctype("upper")))
str[i] = towctrans(str[i], wctrans("tolower"));
}
wcout << L"After transformation" << endl;
wcout << str << endl;
return 0;
}
When you run the program, the output will be:
Before transformation Ŝŵitĉhiňģ Ćăse After transformation ŝŴITĈHIŇĢ ćĂSE