C ++ setlocale () - Biblioteca estándar de C ++

La función setlocale () en C ++ establece la información de la configuración regional para el programa actual.

La función setlocale () se define en el archivo de encabezado.

prototipo setlocale ()

 int setlocale (categoría int, const char * locale);

La función setlocale se utiliza para establecer una configuración regional específica del sistema para la categoría dada. La función setlocale también se puede utilizar para consultar la configuración regional C actual.

Esto se puede hacer pasando un puntero nulo en lugar de la configuración regional.

Parámetros de setlocale ()

  • categoría: especifica qué información local del programa se ve afectada. Las posibles macros para la categoría son:
Macro de categoría para setlocale ()
Macros Descripción
LC_ALL Selecciona toda la configuración regional de C
LC_COLLATE Seleccionar la categoría de colación
LC_CTYPE Selecciona la categoría de clasificación de personajes
LC_MONETARY Selecciona la categoría de formato monetario
LC_NUMERIC Selecciona la categoría de formato numérico
LC_TIME Selecciona la categoría de formato de hora
  • locale: un identificador de locale específico del sistema. Si es un puntero nulo, una llamada a setlocale () consulta la configuración regional actual de C.

setlocale () Valor de retorno

  • Si tiene éxito, la función setlocale () devuelve un puntero a la cadena que identifica la configuración regional C después de aplicar los cambios.
  • Si falla, devuelve un puntero nulo.

Ejemplo: ¿Cómo funciona la función setlocale ()?

 #include #include using namespace std; int main() ( char *str; setlocale(LC_ALL, "en_US.utf8"); str = setlocale(LC_ALL, NULL); cout << "Current locale: " << str << endl; cout << "Changing locale " << endl; setlocale(LC_ALL, "en_GB.utf8"); str = setlocale(LC_ALL, NULL); wcout << "Current locale: " << str << endl; return 0; )

Cuando ejecute el programa, la salida será:

 Configuración regional actual: en_US.utf8 Cambio de configuración regional Configuración regional actual: en_GB.utf8

Articulos interesantes...