std::setlocale
提供:cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Defined in header <clocale>
|
||
| char* setlocale( int category, const char* locale); |
||
setlocale関数は、新しいCロケールとして指定されているシステムのロケールまたはその一部をインストールします。修正は引き続き有効であるとsetlocaleへの次のコールまで、ロケールに依存するすべてのCライブラリ関数の実行に影響を与えます。 localeがNULLポインターである場合、setlocaleは、それを変更することなく、現在のCロケールを照会.Original:
The
setlocale function installs the specified system locale or its portion as the new C locale. The modifications remain in effect and influences the execution of all locale-sensitive C library functions until the next call to setlocale. If locale is a null pointer, setlocale queries the current C locale without modifying it.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
目次 |
[編集] パラメータ
| category | - | マクロの一つ。 nullの可能性があります. Original: locale category identifier, one of the LC_xxx Original: LC_xxx The text has been machine-translated via [http://translate.google.com Google Translate]. You can help to correct and verify the translation. Click [http://en.cppreference.com/w/Cppreference:MachineTranslations here] for instructions. The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| locale | - | システム固有のロケール識別子。最小限のロケール用のユーザの優先ロケールまたは""ため"C"することができます
Original: system-specific locale identifier. Can be "" for the user-preferred locale or "C" for the minimal locale The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[編集] 値を返します
変更を適用した後のCロケールを識別狭いNULLで終わる文字列があれば、失敗した場合はNULLポインタへのポインタ..
Original:
Pointer to a narrow null-terminated string identifying the C locale after applying the changes, if any, or null pointer on failure.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集] ノート
任意のユーザコードが実行される前に、プログラムの起動時に、std::setlocale(LC_ALL, "C");のと同じ処理が実行され.
Original:
During program startup, the equivalent of std::setlocale(LC_ALL, "C"); is executed before any user code is run.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
戻り値の型がchar*ですが、ポイント先の文字を変更すると、未定義の動作です.
Original:
Although the return type is char*, modifying the pointed-to characters is undefined behavior.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
setlocaleはロケールに依存した機能の実行に影響を与えるグローバルな状態を変更するので、別のスレッドが次のいずれかの機能を実行している間、それは、一つのスレッドからそれを呼び出すように未定義の動作です:std::fprintf、std::isprint、std::iswdigit、std::localeconv、std::tolower、std::fscanf、std::ispunct、 std::iswgraph、std::mblen、std::toupper、std::isalnum、std::isspace、std::iswlower、std::mbstowcs、std::towlower、std::isalpha、std::isupper、std::iswprint、std::mbtowc、std::towupper、std::isblank、std::iswalnum、std::iswpunct、std::setlocale、std::wcscoll、std::iscntrl、std::iswalpha、std::iswspace、std::strcoll、std::wcstod、std::isdigit、std::iswblank、 std::iswupper、std::strerror、std::wcstombs、std::isgraph、std::iswcntrl、std::iswxdigit、std::strtod、std::wcsxfrm、std::islower、std::iswctype、std::isxdigit.Original:
Because
setlocale modifies global state which affects execution of locale-dependent functions, it is undefined behavior to call it from one thread, while another thread is executing any of the following functions: std::fprintf, std::isprint, std::iswdigit, std::localeconv, std::tolower, std::fscanf, std::ispunct, std::iswgraph, std::mblen, std::toupper, std::isalnum, std::isspace, std::iswlower, std::mbstowcs, std::towlower, std::isalpha, std::isupper, std::iswprint, std::mbtowc, std::towupper, std::isblank, std::iswalnum, std::iswpunct, std::setlocale, std::wcscoll, std::iscntrl, std::iswalpha, std::iswspace, std::strcoll, std::wcstod, std::isdigit, std::iswblank, std::iswupper, std::strerror, std::wcstombs, std::isgraph, std::iswcntrl, std::iswxdigit, std::strtod, std::wcsxfrm, std::islower, std::iswctype, std::isxdigit.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集] 例
#include <cstdio> #include <clocale> #include <ctime> #include <cwchar> int main() { // the C locale will be UTF-8 enabled English; // decimal dot will be German // date and time formatting will be Japanese std::setlocale(LC_ALL, "en_US.UTF-8"); std::setlocale(LC_NUMERIC, "de_DE"); std::setlocale(LC_TIME, "ja_JP"); wchar_t str[100]; std::time_t t = std::time(NULL); std::wcsftime(str, 100, L"%A %c", std::localtime(&t)); std::wprintf(L"Number: %.2f\nDate: %Ls\n", 3.14, str); }
Output:
Number: 3,14 Date: 月曜日 2011年12月19日 18時04分40秒
[編集] も参照してください
| std::setlocaleためのロケールカテゴリ Original: locale categories for std::setlocale The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (マクロ定数) | |
| 文化の違いをカプセル化するポリモーフィックなファセットの集合 Original: set of polymorphic facets that encapsulate cultural differences The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (クラス) | |
| C documentation for setlocale
| |