1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21: #include <locale.h>
22: #include <stdio.h>
23: #include <stdlib.h>
24: #include <string.h>
25: #include <wchar.h>
26: #include <wctype.h>
27:
28: int
29: main (void)
30: {
31: char buf[30];
32: wchar_t wbuf[30];
33: wctrans_t t;
34: wint_t wch;
35: int errors = 0;
36: int len;
37:
38: setlocale (LC_ALL, "");
39:
40: t = wctrans ("test");
41: if (t == (wctrans_t) 0)
42: {
43: puts ("locale data files probably not loaded");
44: exit (1);
45: }
46:
47: wch = towctrans (L'A', t);
48: printf ("towctrans (L'A', t) = %c\n", wch);
49: if (wch != L'B')
50: errors = 1;
51:
52: wch = towctrans (L'B', t);
53: printf ("towctrans (L'B', t) = %c\n", wch);
54: if (wch != L'C')
55: errors = 1;
56:
57:
58: swprintf (wbuf, sizeof (wbuf) / sizeof (wbuf[0]), L"%Id", 0x499602D2);
59: errors |= wcscmp (wbuf, L"bcdefghija") != 0;
60: len = wcslen (wbuf);
61: errors |= len != 10;
62: printf ("len = %d, wbuf = L\"%ls\"\n", len, wbuf);
63:
64: snprintf (buf, sizeof buf, "%Id", 0x499602D2);
65: errors |= strcmp (buf, "bcdefghija") != 0;
66: len = strlen (buf);
67: errors |= len != 10;
68: printf ("len = %d, buf = \"%s\"\n", len, buf);
69:
70: return errors;
71: }