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. |
| Defined in header <clocale>
|
||
| char* setlocale( int category, const char* locale); |
||
La función
setlocale instala la configuración regional del sistema especificado o su porción como el nuevo entorno nacional C. Las modificaciones permanecerán vigentes e influye en la ejecución de todas las funciones de la biblioteca C sensibles al entorno local hasta la siguiente llamada a setlocale. locale Si es un puntero nulo, setlocale consulta el entorno nacional C actual sin modificarlo .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.
Contenido |
[editar] Parámetros
[editar] Valor de retorno
Puntero a una estrecha terminada en nulo cadena que identifica el entorno nacional C después de aplicar los cambios, si los hay, o un puntero nulo en caso de fallo .
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.
[editar] Notas
Durante el inicio del programa, el equivalente a std::setlocale(LC_ALL, "C"); se ejecuta antes de cualquier código de usuario que se ejecuta .
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.
Aunque el tipo de retorno es char*, la modificación de los caracteres apuntados a un comportamiento no definido .
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.
Porque
setlocale modifica mundial Estado que afecta a la ejecución de las funciones que dependen de la configuración regional, es un comportamiento indefinido para llamarlo de un hilo, mientras que otro hilo está ejecutando cualquiera de las siguientes funciones: 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.
[editar] Ejemplo
#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秒
[editar] Ver también
| categorías de entorno local para 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. (macro constante) | |
| conjunto de facetas polimórficos que encapsulan las diferencias culturales 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. (clase) | |
| C documentation for setlocale
| |