Format
#include <wctype.h> wctrans_t wctrans(const char *property);
Language Level: ANSI 93
wctrans constructs a value with type wctrans_t.
This value describes a mapping between wide characters identified
by the string argument property.
The two strings listed under the towctrans description shall be valid in all locales as property arguments to the wctrans function.
Return Value
If property identifies a valid mapping of wide
characters according to the LC_CTYPE category of the current
locale, wctrans returns a nonzero value that is valid as the
second argument to the towctrans function.
Otherwise, wctrans returns 0.
Example
This example
translates the lower case alphabet to upper case, and back to
lower case.
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <wchar.h> #include <wctype.h>
int main()
{
char *alpha = "abcdefghijklmnopqrstuvwxyz";
char *tocase[2] = {"toupper", "tolower"};
wchar_t *wcalpha;
int i, j;
size_t alphalen;
alphalen = strlen(alpha)+1; wcalpha = (wchar_t *)malloc(sizeof(wchar_t)*alphalen);
mbstowcs(wcalpha, alpha, 2*alphalen);
for (i=0; i<2; ++i) {
printf("Input string: %ls\n", wcalpha);
for (j=0; j<strlen(alpha); ++j) {
wcalpha[j] = (wchar_t)towctrans((wint_t)wcalpha[j], wctrans(tocase[i]));
}
printf("Output string: %ls\n", wcalpha);
printf("\n");
}
return 0;
/*************************************************************************
The output should be similar to:
Input string: abcdefghijklmnopqrstuvwxyz
Output string: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Input string: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Output string: abcdefghijklmnopqrstuvwxyz
*************************************************************************/
}
![]()
towctrans -- Perform
Wide-Character Mapping
<wctype.h>