私はアプリケーションをWindowsに移植しています。プログラムで(C/C++)Linuxで国コードを取得する方法は?
私はそのようなコードを持っている:
char buffer[32] = {0};
if (GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_ICOUNTRY, buffer, _countof(buffer)))
{
std::string newPrefix(buffer);
if (!newPrefix.empty() && (newPrefix != "-1"))
{
countryPrefix_ = newPrefix;
}
}
私はUSA &カナダ例えば(「1」「国際電話コードに基づいて、国/地域コード、」リターン機能を必要とし、「61」のためにオーストラリアなど)
国は、Windowsで(OS」日付/時刻の設定から取得する必要があります。コントロールパネル - 地域&言語オプション)。
Linuxは、国の代わりに、時間帯によって、それを持っているでしょう、なぜ?それはあまりにも複雑なようです。この方法がうまくいくのではないかと思います。 もう一度、私はWindowsによって甘やかされています。 – jkeys
ところで、なぜあなたのコードでchar *とstd :: stringを切り替えるのですか? – jkeys
@Hooked 私は、生のcharバッファの代わりにSTLを使用することを好みます。 – Dmitriy