int
wctomb(char *s, wchar_t wchar);
La
función de wctomb determina el número de bytes necesarios
para representar un carácter de multibyte correspondiendo
al código cuyo valor es wchar (incluyendo cualquier modificación
en estado de desplazamiento). Almacena la representación
de caractéres de multibyte en el objeto de arreglo al cual
apunta s (si s no es un apuntador nulo). Como máximo se almacenan
MB_CUR_MAX caractéres. Si el valor de wchar es cero, la función
wtomb se deja en el estado de desplazamiento inicial. Si s es un
apuntador nulo, la función wctomb devuelve un valor de cero
o no cero, en el caso que las codificaciones de caractéres
de multibyte, respectivamente tengan o no tengan codificaciones
dependiendo del estado. Si s no es un apuntador nulo, la función
wctomb devuelve -1 si el valor de wchar no corresponde a un carácter
de multibyte válido o devuelve el número de bytes
contenidos en el carácter de multibyte correspondiente al
valor de wchar. En ningún caso el valor devuelto será
mayor que el de la macro MB_MAX.
size_t
mbstowcs(wchar_t *pwcs, const char *s, size_t n);
La
función mbstowcs convierte la secuencia de caracteres multibytes
que empieza en el estado de desplazamiento inicial del arreglo al
cual apunta s en una secuencia de códigos correspondientes
y almacena no más de n códigos en el arreglo al cual
señala pwcs. No se examinarán o convertirán
caracteres de multibyte que sigan después de un carácter
nulo (mismo que se convierte a un código con valor cero).
Cada carácter se convierte igual que en el caso de una función
mbtowc, excepto de que no se afecta el estado de desplazamiento
de la función mbtowc.
No
se modificarán más de n elementos en el arreglo al
cual señala pwcs. El comportamiento de copiar entre objetos
que se superpongan queda indefinido. Si se encuentra un carácter
de multibyte inválido, la función mbstowcs devuelve
(size_t) -1. De no ser así, la función mbstowcs devuelve
el número de elementos de arreglo modificados, sin incluir
el código cero de terminación, si es que hay alguno.
size_t wcstombs(char *s, const wchar_t *pwcs, size_t n);
La
función wcstombs combierte una secuencia de códigos
que corresponden a caracteres de multibyte del arreglo al cual apunta
pwcs a una secuencia de caracteres de multibyte que empieza en el
estado inicial de desplazamiento y almacena estos caracteres de
multibyte en el arreglo al cual señala s, deteniendose si
un carácter multibyte se excediese del límite total
de bytes igual a n o no se almacena un carácter nulo. Cada
código se convierte igual que en el caso de una llamada a
una función wctomb, a excepción que el estado de desplazamiento
de la función wctomb no se afecta.
No
se modificarán más de n bytes en el arreglo al cual
señala s. Si la copia ocurre entre objetos que se superponen,
el comportamiento queda indefinido. Si se encuentra con un código
que no corresponda con un carácter válido de multibyte,
la función wcstombs devuelve (size_t) -1. De lo contrario,
la función wcstombs devuelve el número de bytes modificados,
sin incluir el carácter nulo de terminación, si existiese.
|