std::setlocale
De 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. |
<metanoindex/>
<tbody> </tbody>| Déclaré dans l'en-tête <clocale>
|
||
char* setlocale( int category, const char* locale); |
||
La fonction
setlocale installe les paramètres régionaux système spécifié ou sa partie en tant qu'environnement de nouveau C. Les modifications restent en vigueur et influe sur l'exécution de toutes les fonctions sensibles aux paramètres régionaux de la bibliothèque C jusqu'à ce que le prochain appel à setlocale. Si locale est un pointeur NULL, setlocale interroge la locale C, courant sans le modifier .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.
Paramètres
| category | - | identificateur de catégorie locale, l'une des macros
LC_xxx . Peut être nul .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. Original: locale category identifier, one of the LC_xxx macros. May be null.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 | - | identificateur de paramètres régionaux spécifiques au système. Peut-être
"" pour les paramètres régionaux utilisateur privilégié ou "C" pour les paramètres régionaux minimes 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. |
Retourne la valeur
Pointeur vers une étroite terminée par NULL chaîne de caractères identifiant la locale C après l'application des modifications, le cas échéant, ou pointeur null en cas d'échec .
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.
Notes
Lors du démarrage du programme, l'équivalent de
std::setlocale(LC_ALL, "C"); est exécuté avant tout autre code utilisateur est exécuté .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.
Bien que le type de retour est
char*, modifiant les caractères pointés est un comportement indéfini .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.
Parce que
setlocale modifie mondiale état qui affecte l'exécution des fonctions dépendant des paramètres régionaux, il s'agit d'un comportement non défini pour l'appeler à partir d'un thread, tandis qu'un autre thread exécute l'une des fonctions suivantes: 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.
Exemple
#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);
}
Résultat :
Number: 3,14
Date: 月曜日 2011年12月19日 18時04分40秒
Voir aussi
catégories de locales pour 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. (constante macro) | |
ensemble de facettes polymorphes qui encapsulent les différences culturelles 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. (classe) | |
C documentation for setlocale
| |