アプリケーションの国際化対応の話題スレat TECH
アプリケーションの国際化対応の話題スレ - 暇つぶし2ch135:デフォルトの名無しさん
08/02/06 20:24:24
Win32 APIのGetLocaleInfoWで日本語を指定するとU+A5を取得できた。
Aなら5Cになるし使えると思う。ただ、標準Cライブラリとの対応付けが面倒かもしれない。
#include <windows.h>
#include <iostream>
#include <locale>
int main()
{
std::wcout.imbue(std::locale("")); //VC++ 2005だとだめだったと思うけど
WCHAR c[6];
GetLocaleInfoW(LOCALE_USER_DEFAULT, LOCALE_SCURRENCY, c, sizeof c / sizeof c[0]);
std::wcout << std::hex << static_cast<UINT>(c[0]) << L'\n';

LCID lcidja = MAKELCID(MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT), SORT_DEFAULT);
std::wcout << std::hex << lcidja << L'\n';
std::wcout << std::hex << GetUserDefaultLCID() << L'\n'; //日本ならlcidjaと同じ値になることの確認

GetLocaleInfoW(lcidja, LOCALE_SCURRENCY, c, sizeof c / sizeof c[0]);
std::wcout << std::hex << static_cast<UINT>(c[0]) << L'\n';
std::wcout << c << '\n';

CHAR mbs[6];
GetLocaleInfoA(lcidja, LOCALE_SCURRENCY, mbs, sizeof mbs);
std::wcout << mbs << '\n';
std::wcout << std::hex << static_cast<UINT>(mbs[0]) << std::endl;
}



次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch