Section: Manual del Programador Linux (3)
Updated: 25 julio 1999
Index Return to Main
Contents
wcstombs - convierte una cadena de caracteres anchos a una cadena mulibyte
#include <stdlib.h> size_t wcstombs (char *dest, const wchar_t *src, size_t n);
Si dest no es un puntero NULL, la función wcstombs convierte la cadena de caracteres anchos *src en una cadena multibyte comenzando en dest. En dest se escriben, como mucho, n bytes. El estado de cambios *ps se acualiza. La conversión comienza en el estado inicial. La conversión puede pararse por tres razones:
1. Se ha encontrado un carácter ancho que no se puede representar como una secuencia multibyte (de acuerdo con la localización actual). En este caso se devuelve (size_t)(-1).
2. El límite de longitud fuerza la parada. En este caso, devuelve el número de bytes escritos en dest pero el estado de cambios en este punto se pierde.
3. Se ha completado la conversión de la cadena de caracteres anchos, incluyendo la terminación L'\0'. En este caso, la conversión termina en el estado inicial. Devuelve el número de bytes escritos en dest, excluyendo el byte terminador '\0'.
El programador tiene que asegurarse de que hay espacio para al menos n bytes en dest.
Si dest es NULL, len se ignora, y la conversión procede como arriba, salvo que los bytes convertidos no se escriben en memoria y no existe límite de longitud.
Para evitar los dos casos anteriores, el programador debería estar seguro de que n es mayor o igual a wcstombs(NULL,src,0)+1.
la función wcstombs devuelve el número de bytes que conforman la parte de la secuencia multibyte convertida, sin incluir el byte nulo terminador. Si encontró un carácter ancho que no pudo convertir, devuelve (size_t)(-1).
El comportamiento de wcstombs depende de la categoría LC_CTYPE de la localización actual.
La función wcsrtombs proporciona un interfaz seguro para hilos con la misma funcionalidad.
This document was created by man2html, using
the manual pages.
Time: 06:16:27 GMT, January 22, 2005