Available in

(3) (3)/es (3)/fr (3)/ja (3)/pt (3)/zh_CN (3)/zh_TW (3c) (3posix)

TOC

SETLOCALE(3)            Manual del Programador de Linux           SETLOCALE(3)



NOMBRE

       setlocale - establece la localización en curso

SINOPSIS

       #include <locale.h>

       char *setlocale(int categoria, const char * localizacion);

DESCRIPCIÃN

       La  función  setlocale()  se  emplea para establecer o saber la local‐
       ización en curso del programa.

       Si localizacion no es NULL, la localización  actual  del  programa  se
       modifica  según los argumentos.  El argumento categoria determina qué
       partes de la localización actual del programa se deben modificar.

       LC_ALL para todas las partes de la localización.

       LC_COLLATE
              para la concordancia en expresiones regulares (determina el sig‐
              nificado  de las expresiones de rango y de las clases de equiva‐
              lencia) y la ordenación de cadenas.

       LC_CTYPE
              para la concordancia en expresiones regulares, la clasificación
              de  caracteres,  la  conversión,  la  comparación  sensible  a
              mayúsculas/minúsculas y la funciones de caracteres anchos.

       LC_MESSAGES
              para los mensajes del lenguaje natural que son localizables.

       LC_MONETARY
              para el formato monetario.

       LC_NUMERIC
              para el formato de números (tal como el carácter separador  de
              decimales o el separador de miles).

       LC_TIME
              para los formatos de tiempo y fecha.

       El argumento localización es un puntero a una cadena de caracteres que
       contiene la configuración necesaria de categoría.  Tal cadena es bien
       una  constante  bien conocida como "C" o "es_ES" (ver más abajo) o una
       cadena opaca devuelta por otra llamada a setlocale.

       Si localización es "", cada parte de la  colalización  que  debe  ser
       modificada  se  configura según las variables de entorno. Los detalles
       son dependientes de la implementación.  Para glibc, primero se inspec‐
       ciona  la  variable  de  entorno  LC_ALL  (sin tener en cuenta la cate‐
       goría), a continuación la variable de entorno con el mismo nombre que
       la   categoría   (LC_COLLATE,   LC_CTYPE,   LC_MESSAGES,  LC_MONETARY,
       LC_NUMERIC, LC_TIME) y, finalmente, la variable de  entorno  LANG.   Se
       usa  la  primera variable de entorno que exista.  Si su valor no es una
       especificación de localización válida, no se cambia la localización
       y setlocale devuelve NULL.

       La  localización "C" o "POSIX" es una localización portable. Su parte
       LC_CTYPE corresponde al conjunto de caracteres ASCII de 7 bits.

       Típicamente, un nombre de localización es de la forma  lenguaje[_ter‐
       ritorio][.conjuntocaract][@modificador],  donde  lenguaje es un código
       de lenguaje ISO 639, territorio es un código de país ISO 3166, y con‐
       juntocaract  es un conjunto de caracteres o un identificador de codifi‐
       cación como ISO-8859-1 o UTF-8.  Para una lista de todas las localiza‐
       ciones soportadas, pruebe "locale -a", cf. locale(1).

       Si localización es NULL, sólo se consulta la localización actual, no
       se modifica.

       Al comienzo del programa  principal,  se  selecciona  por  omisión  la
       localización  transportable  "C".   Un  programa  puede hacerse trans‐
       portable para todas las localizaciones llamando a setlocale(LC_ALL,  ""
       )  tras el inicio del programa, empleando los valores devueltos por una
       llamada a localeconv() para la información dependiente  de  la  local‐
       ización,  utilizando  las  funciones  de caracteres anchos y multibyte
       para el procesamiento de texto si MB_CUR_MAX >  1,  y  utilizando  str‐
       coll(),  wcscoll() o strxfrm(), wcsxfrm() para comparar cadenas de car‐
       acteres.

VALOR DEVUELTO

       Una llamada con éxito a setlocale() devuelve una cadena de  caracteres
       opaca que corresponde a la localización establecida. Esta cadena puede
       ser alojada en almacenamiento estático.  La cadena devuelta es tal que
       una  llamada  subsiguiente  con  esta  cadena y su categoría asociada,
       restaurará esa parte de la  localización  del  proceso.  La  función
       devuelve NULL si la petición no puede ser satisfecha.


CONFORME A

       C ANSI, POSIX.1

OBSERVACIONES

       Linux  (esto es, GNU libc) admite las localizaciones transportables "C"
       y "POSIX".  En los viejos tiempos solía haber soporte para el  código
       europeo  ISO Latin-1, localización "ISO-8859-1" (e.g. en libc-4.5.21 y
       libc-4.6.27), y la localización cirílica (rusa)  "KOI-8"  (más  pre‐
       cisamente,  "koi-8r")  (e.g.  en  libc-4.6.27),  de forma que tener una
       variable de ambiente LC_CTYPE=ISO-8859-1 ya  era  suficiente  para  que
       isprint()  devolviera  la respuesta correcta.  Hoy día los europeos (y
       americanos) no angloparlantes  tienen  que  trabajar  un  poquito  más
       (N.T.: ¡qué raro! :-) y debe instalarse los ficheros reales de local‐
       izaciones para su idioma.

VÃASE TAMBIÃN

       locale(1), localedef(1), strcoll(3), isalpha(3),  localeconv(3),  strf‐
       time(3), charsets(4), locale(7)



GNU                              4 julio 1999                     SETLOCALE(3)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.