wctombはmilleシンボル(‰)を窒息させる
質問
私はたくさんのユニットラベルを印刷しようとしています。それらのいくつかはギリシャ語のキャラクターを含んでおり、いくつかは他の面白いコードポイントを持っています。
私はそれをにたどりました wctomb
たとえば、UTF-16文字8240で何をすべきかわからない関数:
char mb[10];
assert( 0 <= wctomb(mb,8240) );
使用するロケールを設定するにはどうすればよいですか wctomb
「すべてのUnicode文字」を例にしますか?
必要なキャラクターから始めて、必要な適切なロケール名を見つけるにはどうすればよいですか?
解決
正しいUTF-8ロケールを設定すると修正されます。
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "en_US.UTF-8");
char mb[10];
assert( 0 <= wctomb(mb,8240) );
printf("%s\n", mb);
return 0;
}
所属していません StackOverflow