C / locale.h / setlocale
localeconv, » setlocale,
Funcion: setlocale()
Sintaxis:
Descripcion: La función setlocale selecciona la porción apropiada de la localidad del programa especificado por los argumentos categoria y localidad. La función setlocale puede ser usada para cambiar o preguntar la localidad actual total del programa o porciones de ello. El valor de LC_ALL para categoria nombra la localidad total del programa; los otros valores para categoria nombran solamente una porción de la localidad del programa. LC_COLLATE afecta el comportamiento de las funciones strcoll y strxfrm. LC_CTYPE afecta el comportamiento de las funciones que manipulan caracteres y de las funciones de multibyte. LC_MONETARY afecta a la información de formato monetario retornada por la función localeconv. LC_NUMERIC afecta el carácter de la coma decimal para las funciones de formato de entrada/salida, las funciones de conversión de cadenas, y de la información de formato no monetario retornada por localeconv. LC_TIME afecta el comportamiento de strftime.
Un valor de "C" para localidad especifica el entorno mínimo para la traducción de C; un valor de "" para localidad especifica el entorno nativo definido según la implementación. Otras cadenas definidas según la implementación pueden ser pasadas a setlocale. Al comienzo de la ejecución del programa, la equivalente a setlocale( LC_ALL, "C" ); es ejecutada.
Ejemplo:
Sintaxis:
char *setlocale(int categoria, const char *localidad);
Descripcion: La función setlocale selecciona la porción apropiada de la localidad del programa especificado por los argumentos categoria y localidad. La función setlocale puede ser usada para cambiar o preguntar la localidad actual total del programa o porciones de ello. El valor de LC_ALL para categoria nombra la localidad total del programa; los otros valores para categoria nombran solamente una porción de la localidad del programa. LC_COLLATE afecta el comportamiento de las funciones strcoll y strxfrm. LC_CTYPE afecta el comportamiento de las funciones que manipulan caracteres y de las funciones de multibyte. LC_MONETARY afecta a la información de formato monetario retornada por la función localeconv. LC_NUMERIC afecta el carácter de la coma decimal para las funciones de formato de entrada/salida, las funciones de conversión de cadenas, y de la información de formato no monetario retornada por localeconv. LC_TIME afecta el comportamiento de strftime.
Un valor de "C" para localidad especifica el entorno mínimo para la traducción de C; un valor de "" para localidad especifica el entorno nativo definido según la implementación. Otras cadenas definidas según la implementación pueden ser pasadas a setlocale. Al comienzo de la ejecución del programa, la equivalente a setlocale( LC_ALL, "C" ); es ejecutada.
Ejemplo:
#include <stdio.h> #include <locale.h> #include <string.h> int main() { struct lconv *lcPtr; char *s; printf( "Localidad: \"%s\"\n\n", setlocale( LC_ALL, "C" ) ); lcPtr = localeconv(); printf( "decimal_point = \"%s\"\t\t", lcPtr->decimal_point ); printf( "thousands_sep = \"%s\"\n", lcPtr->thousands_sep ); printf( "grouping = \"%s\"\t\t\t", lcPtr->grouping ); printf( "int_curr_symbol = \"%s\"\n", lcPtr->int_curr_symbol ); printf( "currency_symbol = \"%s\"\t\t", lcPtr->currency_symbol ); printf( "mon_decimal_point = \"%s\"\n", lcPtr->mon_decimal_point ); printf( "mon_grouping = \"%s\"\t\t", lcPtr->mon_grouping ); printf( "positive_sign = \"%s\"\n", lcPtr->positive_sign ); printf( "negative_sign = \"%s\"\n", lcPtr->negative_sign ); printf( "int_frac_digits = (char) %d\t", lcPtr->int_frac_digits ); printf( "frac_digits = (char) %d\n", lcPtr->frac_digits ); printf( "p_cs_precedes = (char) %d\t", lcPtr->p_cs_precedes ); printf( "p_sep_by_space = (char) %d\n", lcPtr->p_sep_by_space ); printf( "n_cs_precedes = (char) %d\t", lcPtr->n_cs_precedes ); printf( "n_sep_by_space = (char) %d\n", lcPtr->n_sep_by_space ); printf( "p_sign_posn = (char) %d\t", lcPtr->p_sign_posn ); printf( "n_sign_posn = (char) %d\n", lcPtr->n_sign_posn ); printf( "\nCambiamos algunas variables para concordar con la localidad de " ); printf( "España:\n" ); lcPtr->decimal_point = ","; lcPtr->thousands_sep = "."; lcPtr->grouping = "3"; printf( "decimal_point = \"%s\"\n", lcPtr->decimal_point ); printf( "thousands_sep = \"%s\"\n", lcPtr->thousands_sep ); printf( "grouping = \"%s\"\n", lcPtr->grouping ); return 0; }