Allegro puede manipular y mostrar texto usando cualquier carácter en el rango
que va de 0 a 2^32-1 (aunque por ahora grabber sólo puede crear fuentes
usando carácteres hasta 2^16-1). Puede escoger entre varios tipos de formatos
de codificación de texto, los cuales controlan la forma en la que las cadenas
son almacenadas y cómo Allegro interpreta las que usted le pase. Esta
configuración afecta a todos los aspectos del sistema: cada vez que observe
una función que devuelve un puntero a carácter (char *) o que toma un puntero
a carácter como argumento, el texto utilizará el formato que se le haya
indicado a Allegro.
Por defecto, Allegro usa texto codificado en el formato UTF-8 (U_UTF8). Este
es un formato de anchura variable donde los carácteres pueden tener cualquier
tamaño de 1 a 6 bytes. Lo bueno de este formato es que los carácteres de 0 a
127 pueden ser almacenados directamente, o lo que es igual, significa que es
compatible con códigos ASCII de 7 bits ("Hola, Mundo!" es exactamente la
misma cadena en ASCII que en UTF-8). Cualquier carácter por encima del 128
como vocales acentuadas, el símbolo monetario inglés o carácteres árabes y
chinos serán codificados como una secuencia de dos o más bytes con un valor
en el rango 128-255. Esto permite que al mostrar la cadena no se obtengan
carácteres extraños en ASCII que en realidad forman parte de la codificación
de un carácter con diferente valor, lo que hace realmente fácil manipular
cadenas UTF-8.
Existen algunos editores de texto que entienden ficheros UTF-8, pero
alternativamente, puede escribir sus cadenas en ASCII plano o en formato
Unicode de 16 bit y luego utilizar el programa textconv (suministrado con
Allegro) para convertir el texto a UTF-8.
Si prefiere usar otros formatos de texto, Allegro permite la utilización de
formatos ASCII de 8 bits (U_ASCII) o Unicode de 16 bits (U_UNICODE). Además
puede programar sus propias funciones para manejar otros formatos de texto
con Allegro (sería sencillo añadir soporte para el formato UCS-4 de 32 bits,
o el formato GB-code chino).
También existe soporte limitado para páginas de códigos alternativas de 8
bits a través del modo U_ASCII_CP. Lo malo de este modo es que es muy lento y
no debería utilizarse para aplicaciones serias. Sin embargo, puede utilizarse
para convertir texto fácilmente entre diferentes páginas de códigos. Por
defecto, el modo U_ASCII_CP es activado para convertir texto al formato ASCII
de 7 bits, convirtiendo las vocales acentuadas en sus equivalente (por
ejemplo, allegro_message() utiliza este modo para mostrar los mensajes en una
consola DOS). Si necesita trabajar con otras páginas de códigos, puede
hacerlo pasando un mapeado de carácteres a la función set_ucodepage().
Tenga en cuenta que puede usar las rutinas Unicode antes de llamar
install_allegro() o allegro_init(). Si quiere trabajar en un formato de texto
distinto al UTF-8, lo mejor es que lo seleccione con set_uformat() antes de
llamar estas funciones.
void set_uformat(int type);
   Establece el formato de codificación de texto a utilizar. Esta operación
   afectará a todos las funciónes de Allegro que devuelvan un puntero a
   carácter (char *) o acepten un puntero a carácter como parámetro. El
   parámetro type debe ser uno de los siguientes:
      U_ASCII     - carácteres ASCII de 8 bits de tamaño fijo
      U_ASCII_CP  - página de códigos alternativa de 8 bits (ver
                    set_ucodepage())
      U_UNICODE   - carácteres Unicode de 16 bits de tamaño fijo
      U_UTF8      - carácteres Unicode UTF-8 de tamaño variable
   Aunque es posible cambiar el formato de texto en cualquier momento, no es
   una práctica demasiado recomendable. Muchas cadenas (entre ellas los
   nombres de los drivers de hardware y algunas traducciones) son
   inicializadas en la llamada a allegro_init(), por lo tanto, si se cambia
   el formato de texto tras dicha llamada, las cadenas estarán en un formato
   diferente al seleccionado y el sistema no funcionará de forma apropiada.
   Como normal general, sólo debería llamarse a set_uformat() una vez, antes
   de llamar a allegro_init(), y utilizar el formato de texto seleccionado
   durante toda la ejecución de su programa.
Relacionado con:
get_uformat,
register_uformat,
set_ucodepage,
set_uformat,
uconvert,
ugetat,
usetat,
uinsert,
uremove,
allegro_init,
ustrsize,
ugetc,
ugetx,
usetc,
uwidth,
ucwidth,
uisok,
uoffset.
int get_uformat(void);
   Devuelve el formato de codificación de texto actualmente seleccionado.
Relacionado con:
set_uformat.
void register_uformat(int type,
                      int (*u_getc)(const char *s),
                      int (*u_getx)(char **s),
                      int (*u_setc)(char *s, int c),
                      int (*u_width)(const char *s),
                      int (*u_cwidth)(int c),
                      int (*u_isok)(int c));
   Instala un conjunto de funciones para el manejo de un nuevo formato de
   codificación de carácteres. El parámetro type identifica el nuevo formato,
   que debería ser una cadena de 4 carácteres como las producidas por la
   macro AL_ID(). Esta cadena será la que se pase posteriormente a funciones
   como set_uformat() y uconvert(). Los punteros a funciones pasados como
   parámetros, son manejadores que implementan el acceso a los carácteres de
   una cadena formateada con la nueva codificación (vea más abajo para más
   detalles).
Relacionado con:
set_uformat,
uconvert,
ugetc,
ugetx,
usetc,
uwidth,
ucwidth,
uisok.
void set_ucodepage(const unsigned short *table,
          const unsigned short *extras);
   Cuando se selecciona el modo U_ASCII_CP, los carácteres de 8 bits son
   convertidos a sus equivalentes en Unicode a través de un conjunto de
   tablas. Se puede usar esta función para especificar un conjunto de tablas
   personalizadas que permitan la utilización de páginas de códigos de 8 bits
   alternativas. El parámetro table apunta a un array de 256 enteros short
   que contienen el valor Unicode para cada carácter en la página de códigos.
   El parámetro extras, si no es NULL, apunta a una lista de pares de valores
   que es utilizada para realizar la conversión inversa, es decir, reducir
   los valores Unicode a la representación correcta dentro de la nueva
   página de codigos. Cada par de valores consiste en un valor Unicode
   seguido por la forma de representación correspondiente dentro de la página
   de códigos. La tabla debe finalizar con el valor cero en Unicode. Esta
   tabla permite que varios carácteres Unicode puedan representarse mediante
   un solo valor en la página de codigos (por ejemplo para reducir vocales
   acentuadas a ASCII de 7 bits).
Relacionado con:
set_uformat.
int need_uconvert(const char *s, int type, int newtype);
   Dado un puntero a una cadena, el tipo de la cadena y el tipo al que se
   desea convertir, esta función indica si dicha conversión es necesaria. La
   conversión no es necesaria si type y newtype son el mismo tipo o son tipos
   equivalentes (por ejemplo ASCII y UTF-8 y la cadena contiene carácteres
   menores que 128). Como valor para uno de los parámetros type, se puede
   pasar U_CURRENT que representa el tipo actualmente seleccionado.
Relacionado con:
set_uformat,
get_uformat,
do_uconvert,
uconvert.
int uconvert_size(const char *s, int type, int newtype);
   Devuelve el número de bytes que serán necesarios para almacenar la cadena
   especificada tras una conversión al nuevo tipo, incluyendo el carácter
   terminador nulo. Los parámetros type pueden usar el valor U_CURRENT para
   indicar el tipo actualmente seleccionado.
Relacionado con:
need_uconvert,
do_uconvert.
void do_uconvert(const char *s, int type,
        char *buf, int newtype, int size);
   Convierte la cadena especificada del tipo type al tipo newtype, guardando
   como mucho size bytes en el buffer buf. Los parámetros type pueden
   utilizar el valor U_CURRENT para indicar el tipo actualmente seleccionado.
Relacionado con:
uconvert.
char *uconvert(const char *s, int type,
      char *buf, int newtype, int size);
   Esta es una función de alto nivel que sirve como ayuda para ejecutar
   do_uconvert(). Al igual que do_uconvert(), convierta la cadena
   especificada del tipo type al tipo newtype, guardando como mucho size
   bytes en el buffer buf. La ventaja que obtenemos a usar uconvert() es que
   comprueba los tipos antes de realizar la conversión, para asegurarse de
   que son tipos diferentes, no realizando conversión alguna si los tipos son
   iguales o equivalentes. Si la conversión fue realizada, devuelve un
   puntero a buf, en caso contrario, devuelve una copia de la cadena a
   convertir (s). Por lo tanto, debe usar el valor devuelto en lugar de
   asumir que la cadena ha sido movida a buf. Si buf es NULL, la cadena será
   convertida en un buffer estático interno. Sin embargo, debería tener
   cuidado al usar este comportamiento, ya que el buffer será sobreescrito
   cada vez que la rutina sea invocada, por lo que no espere que los datos
   persistan tras haber hecho llamadas a otras funciones de la biblioteca.
Relacionado con:
set_uformat,
need_uconvert,
uconvert,
uconvert_ascii,
uconvert_toascii.
char *uconvert_ascii(const char *s, char buf[]);
   Macro auxiliar para convertir cadenas desde ASCII al formato actual de
   codificación. Se expande a
   uconvert(s, U_ASCII, buf, U_CURRENT, sizeof(buf)).
Relacionado con:
uconvert.
char *uconvert_toascii(const char *s, char buf[]);
   Macro auxiliar para convertir cadenas desde el formato actual de
   codificación a ASCII. Se expande a
   uconvert(s, U_CURRENT, buf, U_ASCII, sizeof(buf)).
Relacionado con:
uconvert.
extern char empty_string[];
   No se puede fiar de que "" sea una cadena vacía válida en todos los
   formatos de codificación. Este búffer global contiene un número de ceros
   consecutivos, así que siempre será una cadena vacía válida, sin tener
   importancia si el programa se está ejecutando en modo ASCII, Unicode o
   UTF-8.
int ugetc(const char *s);
   Función auxiliar de bajo nivel para leer datos de texto en Unicode. Dado
   un puntero a una cadena en el formato de codificación actual devuelve el
   siguiente caracter de la cadena.
Relacionado con:
ugetx,
usetc,
uwidth,
ucwidth,
uisok.
int ugetx(char **s);
int ugetxc(const char **s);
   Función auxiliar de bajo nivel para leer datos de texto en Unicode. Dada
   la dirección de un puntero a un string en el formato de codificación
   actual devuelve el siguiente caracter de la cadena y avanza el puntero al
   siguiente caracter.
   ugetxc es para trabajar con datos char constantes puntero a puntero.
Relacionado con:
ugetc,
usetc,
uwidth,
ucwidth,
uisok.
int usetc(char *s, int c);
   Función auxiliar de bajo nivel para escribir datos de texto en Unicode.
   Escribe el caracter especificado en la dirección dada usando el formato
   de codificación actual y devuelve el número de bytes escritos.
Relacionado con:
ugetc,
ugetx,
uwidth,
ucwidth,
uisok.
int uwidth(const char *s);
   Función auxiliar de bajo nivel para comprobar datos de texto en Unicode.
   Devuelve el número de bytes ocupados por el primer caracter de la cadena
   especificada en el formato de codificación actual.
Relacionado con:
uwidth_max,
ugetc,
ugetx,
usetc,
ucwidth,
uisok.
int ucwidth(int c);
   Función auxiliar de bajo nivel para comprobar datos de texto en Unicode.
   Devuelve el número de bytes que ocuparía el caracter especificado en caso
   de codificarse en el formato actual.
Relacionado con:
uwidth_max,
ugetc,
ugetx,
usetc,
uwidth,
uisok.
int uisok(int c);
   Función auxiliar de bajo nivel para comprobar datos de texto en Unicode.
   Comprueba que el valor especificado puede ser codificado correctamente en
   en el formato actual.
Relacionado con:
ugetc,
ugetx,
usetc,
uwidth,
ucwidth.
int uoffset(const char *s, int index);
   Devuelve el desplazamiento en bytes desde el comienzo de la cadena hasta
   el caracter correspondiente al índice especificado. Si el índice es
   negativo, cuenta hacía atrás desde el final de la cadena, así que un
   índice de -1 devolverá un desplazamiento al último caracter.
Relacionado con:
ugetat,
usetat,
uinsert,
uremove.
int ugetat(const char *s, int index);
   Devuelve el valor del caracter de la cadena correspondiente al índice
   especificado. Un parámetro indice igual a 0 devolverá el primer caracter
   de la cadena. Si el índice es negativo, cuenta hacia atrás desde el final
   de la cadena. Así pues un índice de -1 devolverá el ultimo caracter de la
   cadena.
Relacionado con:
uoffset,
usetat,
uinsert,
uremove.
int usetat(char *s, int index, int c);
   Reemplaza el caracter del string con el índice especificado por el valor
   c, haciendo los ajustes necesarios debido a la anchura de la variable
   (ej: si c se codifica con una anchura diferente que el valor que había
   antes en esa posición). Devuelve el número de bytes que ha sido desplazada
   la parte derecha de la cadena. Si el índice es negativo cuenta hacia atrás
   desde el final de la cadena.
Relacionado con:
uoffset,
ugetat,
uinsert,
uremove.
int uinsert(char *s, int index, int c);
   Inserta el caracter c en la posición de la cadena especificada por index,
   desplazando el resto de los datos para hacer sitio. Devuelve el número de
   bytes que ha desplazado la parte derecha. Si el índice es negativo cuenta
   hacia atras desde el final de la cadena.
Relacionado con:
uoffset,
ugetat,
usetat,
uremove.
int uremove(char *s, int index);
   Borra el caracter que hay en la posición index de la cadena, desplazando
   el resto de los datos para llenar la posición vacía. Devuelve el número de
   bytes que se ha tenido que desplazar la parte derecha de la cadena, si
   index es negativo empieza a contar desde el final de la cadena
Relacionado con:
uoffset,
ugetat,
usetat,
uinsert.
int ustrsize(const char *s);
   Devuelve el tamaño de la cadena especificada en bytes, sin incluir el
   caracter nulo finalizador de cadena.
Relacionado con:
ustrsizez.
int ustrsizez(const char *s);
   Devuelve el tamaño de la cadena especificada en bytes, incluyendo el
   caracter nulo finalizador de cadena.
Relacionado con:
ustrsize.
int uwidth_max(int type);
   Rutinas ayudantes de bajo nivel para trabajar con texto Unicode.
   Devuelven el mayor número de bytes que un carácter puede ocupar en el
   formato de codificación especificado. Pase U_CURRENT para indicar el
   formato de codificación actual.
Relacionado con:
uwidth,
ucwidth.
int utolower(int c);
   Esta función devuelve c, convirtiéndola a minúsculas si estaba en
   mayúsculas.
Relacionado con:
utoupper,
ugetc,
ugetx,
usetc,
uwidth,
ucwidth,
uisok.
int utoupper(int c);
   Esta función devuelve c, convirtiéndola a mayúsculas si estaba en
   minúsculas.
   
Relacionado con:
utolower,
ugetc,
ugetx,
usetc,
uwidth,
ucwidth,
uisok.
int uisspace(int c);
   Devuelve distinto de cero si c es carácter de espaciado, es decir, un
   retorno de carro, una nueva línea, página, un tabulador, un tabulador
   vertical o un espacio.
Relacionado con:
uisdigit,
ugetc,
usetc,
uwidth,
ucwidth,
uisok.
int uisdigit(int c);
   Devuelve distinto de cero si c es un dígito.
Relacionado con:
uisspace,
ugetc,
usetc,
uwidth,
ucwidth,
uisok.
char *ustrdup(const char *src)
   Esta función copia la cadena src terminada en NULL en una nueva área de
   memoria reservada. La memoria devuelta por esta llamada debe ser liberada
   por el usuario. Devuelve NULL si no puede reservar espacio para la cadena
   duplicada.
Relacionado con:
_ustrdup,
uconvert,
ustrsize,
ustrsizez.
char *_ustrdup(const char *src, void* (*malloc_func) (size_t))
   Hace lo mismo que ustrdup(), pero permite especificar al usuario su
   propia rutina para reservar memoria.
Relacionado con:
ustrdup,
uconvert,
ustrsize,
ustrsizez.
char *ustrcpy(char *dest, const char *src);
   Esta función copia src en dest (incluyendo el terminador de cadena NULL).
   El valor de retorno es el valor de dest.
Relacionado con:
uconvert,
ustrsize,
ustrsizez,
ustrncpy.
char *ustrzcpy(char *dest, int size, const char *src);
   Esta función copia src en dest (incluyendo el terminador de cadena NULL),
   cuya longitud en bytes es especificada por size y que está garantizado
   que termine en carácter NULL. El valor de retoron es el valor de dest.
Relacionado con:
uconvert,
ustrcpy,
ustrzncpy.
char *ustrcat(char *dest, const char *src);
   Esta función concatena src al final de dest. El valor de retorno es el
   valor de dest.
Relacionado con:
uconvert,
ustrzcat,
ustrncat.
char *ustrzcat(char *dest, int size, const char *src);
   Esta función concatena src al final de dest, cuya longitud en bytes es
   especificada por size y que está garantizado que termine en carácter
   NULL. El valor de retorno es el valor de dest.
Relacionado con:
uconvert,
ustrcat,
ustrzncat.
int ustrlen(const char *s);
   Esta función devuelve el número de carácteres de s. Tenga en cuenta que
   esto no tiene que ser igual que el tamaño de la cadena en bytes.
Relacionado con:
uconvert,
ustrsize,
ustrsizez.
int ustrcmp(const char *s1, const char *s2);
   Esta función compara s1 con s2. Devuelve cero si las cadenas son iguales,
   un número positivo si s1 va detrás de s2 en la secuencia ASCII apropiada,
   o negativo en caso contrario.
Relacionado con:
uconvert,
ustrsize,
ustrsizez,
ustrncmp,
ustricmp.
char *ustrncpy(char *dest, const char *src, int n);
   Esta función es como ustrcpy() excepto que no copiará más de n carácteres
   de src a dest. Si src es menor en longitud que n carácteres, se añadirán
   carácteres NULL en dest hasta rellenar los n carácteres especificados.
   Note que si src es mayor que n carácteres, dest no terminará en NULL. El
   valor de retorno es el valor de dest.
Relacionado con:
uconvert,
ustrcpy,
ustrzncpy.
char *ustrzncpy(char *dest, int size, const char *src, int n);
   Esta función es como ustrzcpy() excepto que no copiará más de n
   carácteres de src a dest. Si src es menor en longitud que n carácteres,
   se añadirán carácteres NULL en dest hasta rellenar los n carácteres
   especificados. Note que está garantizado que dest acabe en carácter NULL.
   El valor de retorno es el valor de dest.
Relacionado con:
uconvert,
ustrzcpy,
ustrncpy.
char *ustrncat(char *dest, const char *src, int n);
   Esta función es como `strcat' con la excepción de que no se añadirán más
   de n bytes de src al final de dest. Si el carácter terminador NULL es
   encontrado en src antes de haber escrito n carácteres, el carácter NULL
   será copiado, pero no se escribirán más carácteres. Si n carácteres son
   copiados antes de encontrar el carácter NULL, la función añadirá
   automáticamente el carácter NULL a dest, por lo que se escribirán n+1
   carácteres. El valor de retorno es dest.
   
Relacionado con:
uconvert,
ustrcat,
ustrzncat.
char *ustrzncat(char *dest, int size, const char *src, int n);
   Esta función es como ustrszcat() con la excepción de que no se añadirán
   más de n carácteres de src al final de dest. Si el carácter terminador
   NULL es encontrado en src antes de haber escrito n carácteres, el
   carácter NULL será copiado, pero no se escribirán más carácteres. Note
   que está garantizado que dest acabe en carácter NULL. El valor de
   retorno es el valor de dest.
Relacionado con:
uconvert,
ustrzcat,
ustrncat.
int ustrncmp(const char *s1, const char *s2, int n);
   Esta función compara hasta n carácteres de s1 con s2. Devuelve cero si
   las cadenas son iguales, un número positivo si s1 va detrás de s2 en la
   secuencia ASCII apropiada, o negativo en caso contrario.
Relacionado con:
uconvert,
ustrsize,
ustrsizez,
ustrcmp,
ustricmp.
int ustricmp(const char *s1, const char *s2);
   Esta función compara s1 con s2, ignorando las mayúsculas.
Relacionado con:
uconvert,
ustrsize,
ustrsizez,
ustrcmp,
ustrncmp.
char *ustrlwr(char *s);
   Esta función sustituye todas las letras mayúsculas de s con minúsculas.
Relacionado con:
uconvert,
utolower,
ustrupr.
char *ustrupr(char *s);
   Esta función sustituye todas las letras minúsculas de s con mayúscylas.
Relacionado con:
uconvert,
utolower,
ustrlwr.
char *ustrchr(const char *s, int c);
   Esta función devuelve un puntero a la primera ocurrencia de c en s, o
   NULL si s no contiene c. Tenga en cuenta que si c es NULL, esta función
   devolverá un puntero al final de la cadena.
Relacionado con:
uconvert,
ustrrchr,
ustrstr,
ustrpbrk,
ustrtok.
char *ustrrchr(const char *s, int c);
   Esta función devuelve un puntero a la última ocurrencia de c en s, o NULL
   si s no contiene c.
Relacionado con:
uconvert,
ustrchr,
ustrstr,
ustrpbrk,
ustrtok.
char *ustrstr(const char *s1, const char *s2);
   Esta función busca la primera ocurrencia de s2 en s1. Devuelve un puntero
   dentro de s1, o NULL si s2 no fue encontrada.
Relacionado con:
uconvert,
ustrchr,
ustrrchr,
ustrpbrk,
ustrtok.
char *ustrpbrk(const char *s, const char *set);
   Esta función encuentra el primer carácter de s que esté contenido en set.
   Devuelve un puntero a la primera ocurrencia, o NULL si no se encontró
   nada.
Relacionado con:
uconvert,
ustrchr,
ustrrchr,
ustrstr,
ustrtok.
char *ustrtok(char *s, const char *set);
   Esta función recupera palabras de s que están delimitadas por carácteres
   de set. Para iniciar la búsqueda, pase la cadena que quiere analizar como
   s. Para el resto de las palabras, pase NULL en su lugar. Devuelve un
   puntero a la palabra, o NULL si no se encontró nada. Aviso: dado que
   ustrtok altera la cadena que está analizando, debe copiar siempre su
   cadena a un buffer temporal antes de analizarla. Además, esta función no
   es reentrante (ej: no puede analizar dos cadenas simultáneamente).
Relacionado con:
uconvert,
ustrchr,
ustrrchr,
ustrstr,
ustrpbrk,
ustrtok_r.
char *ustrtok_r(char *s, const char *set, char **last);
   Versión reentrante de ustrtok. El último parámetro es usado para almacenar
   por dónde iba el procesado de la cadena y debe ser un puntero a una
   variable char * reservada por el usuario que no debe ser modificada
   mientras se procesa la misma cadena.
Relacionado con:
ustrtok.
double uatof(const char *s);
   Convierte tanto como sea posible de la cadena a un número equivalente en
   coma flotante de doble precisión. Esta función es casi como `ustrtod(s,
   NULL)'. Devuelve un valor equivalente, o cero si la cadena no representa
   un número.
Relacionado con:
uconvert,
ustrtol,
ustrtod.
long ustrtol(const char *s, char **endp, int base);
   Esta función convierte la parte inicial de s a un entero con signo, el
   cual será devuelto como un valor de tipo `long int', haciendo que *endp
   apunte al primer carácter no convertido, si endp no es un puntero nulo.
   Si el parámetro base es cero, la base es determinada buscando cosas como
   `0x', `0X', o `0' como parte inicial de la cadena, y ajusta la base a 16,
   16 u 8 respectivamente si se encuentra algo. La base por defecto es 10
   en el caso de que no se detecte ninguno de esos prefijos.
Relacionado con:
uconvert,
ustrtod,
uatof.
double ustrtod(const char *s, char **endp);
   Convierte en número de coma flotante tantos carácteres de s que parezcan
   un número en coma flotante, y hace que *endp apunte al primer carácter no
   usado, si endp no es un puntero nulo.
Relacionado con:
uconvert,
ustrtol,
uatof.
const char *ustrerror(int err);
   Esta función devuelve una cadena que describe el código de error `err',
   que normalmente vendrá de la variable `errno'. Devuelve un puntero a una
   cadena estática que no debe ser modificada o liberada. Si hace llamadas
   posteriores a ustrerror, la cadena puede ser sobreescrita.
Relacionado con:
uconvert,
allegro_error.
int usprintf(char *buf, const char *format, ...);
   Esta función escribe datos formateados en el buffer de salida. El
   carácter NULL es escrito para marcar el final de la cadena. Devuelve el
   número de carácteres que fueron escritos, sin incluír el carácter
   terminador nulo.
Relacionado con:
uconvert,
uszprintf,
uvsprintf.
int uszprintf(char *buf, int size, const char *format, ...);
   Esta función escribe datos formateados en el buffer de salida, cuya
   longitud en bytes es especificada por size, y que está garantizado que
   acabará en carácter NULL. Devuelve el número de carácteres que se
   hubiesen escrito sin contar la truncación eventual (como con usprintf), y
   sin incluír el carácter terminador NULL.
Relacionado con:
uconvert,
usprintf,
uvszprintf.
int uvsprintf(char *buf, const char *format, va_list args);
   Esto es como usprintf, pero usted pasa una lista variable de argumentos
   en vez de los propios argumentos.
Relacionado con:
uconvert,
usprintf,
uvszprintf.
int uvszprintf(char *buf, int size, const char *format, va_list args);
   Esto es como uszprintf(), pero usted pasa una lista variable de
   argumentos en vez de los propios argumentos.
Relacionado con:
uconvert,
uszprintf,
uvsprintf.
Volver al Indice