アプリケーション(Windows、Linux、Solaris、AIXなどで動作します)を移植したいのですが、ロケールに多くの問題があります。このコードは、OSXを除くすべてのプラットフォームで機能します。
#define SIZE 1000
int main(int argc, const char * argv[])
{
char dest[SIZE];
wchar_t *dptr = L"árvíztűrőtükörfúrógép";
size_t count = SIZE;
size_t length;
setlocale(LC_CTYPE, "");
length = wcstombs(dest, dptr, count);
printf("%d characters were converted.\n", length);
printf("The converted string is \"%s\"\n\n", dest);
}
ISO-8859-2エンコーディングで端末にそのテキストを印刷するのを手伝ってください!
どうもありがとう!