#include <stdio.h>#include <stdlib.h>intmain(int argc, char *argv[]){wchar_t w[10];char c[10];int i;int lose = 0;i = mbstowcs(w, "bar", 4);if (!(i == 3 && w[1] == 'a')) {puts("mbstowcs FAILED!");lose = 1;}mbstowcs(w, "blah", 5);i = wcstombs(c, w, 10);if (i != 4) {puts("wcstombs FAILED!");lose = 1;}if (mblen("foobar", 7) != 1) {puts("mblen 1 FAILED!");lose = 1;}if (mblen("", 1) != 0) {puts("mblen 2 FAILED!");lose = 1;}{int r;char c = 'x';wchar_t wc;char mbc[MB_CUR_MAX];if ((r = mbtowc(&wc, &c, MB_CUR_MAX)) <= 0) {printf("conversion to wide failed, result: %d\n", r);lose = 1;} else {printf("wide value: 0x%04lx\n", (unsigned long) wc);mbc[0] = '\0';if ((r = wctomb(mbc, wc)) <= 0) {printf("conversion to multibyte failed, result: %d\n", r);lose = 1;}}}puts(lose ? "Test FAILED!" : "Test succeeded.");return lose;}