このページは大阪弁化フィルタによって翻訳生成されたんですわ。

翻訳前ページへ


chinos ser疣 codificados como una secuencia de dos o m疽 bytes con un valor en el rango 128-255. Esto permite que al mostrar la cadena no se obtengan car當teres extra?s en ASCII que en realidad forman parte de la codificaci? de un car當ter con diferente valor, lo que hace realmente f當il 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? de formatos ASCII de 8 bits (U_ASCII) o Unicode de 16 bits (U_UNICODE). Adem疽 puede programar sus propias funciones para manejar otros formatos de texto con Allegro (ser? sencillo a?dir soporte para el formato UCS-4 de 32 bits, o el formato GB-code chino).

Tambi駭 existe soporte limitado para p疊inas de c?igos alternativas de 8 bits a trav駸 del modo U_ASCII_CP. Lo malo de este modo es que es muy lento y no deber? utilizarse para aplicaciones serias. Sin embargo, puede utilizarse para convertir texto f當ilmente entre diferentes p疊inas de c?igos. 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疊inas de c?igos, puede hacerlo pasando un mapeado de car當teres a la funci? 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 car當ter (char *) o acepten un puntero a car當ter como par疥etro. El par疥etro type debe ser uno de los siguientes:

      U_ASCII     - car當teres ASCII de 8 bits de tama? fijo
      U_ASCII_CP  - p疊ina de c?igos alternativa de 8 bits (ver
                    set_ucodepage())
      U_UNICODE   - car當teres Unicode de 16 bits de tama? fijo
      U_UTF8      - car當teres Unicode UTF-8 de tama? variable
Aunque es posible cambiar el formato de texto en cualquier momento, no es una pr當tica 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 de llamar a allegro_init(), y utilizar el formato de texto seleccionado durante toda la ejecuci? 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? 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? de car當teres. El par疥etro type identifica el nuevo formato, par疥etros, son manejadores que implementan el acceso a los car當teres de una cadena formateada con la nueva codificaci? (vea m疽 abajo para m疽 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當teres de 8 bits son convertidos a sus equivalentes en Unicode a trav駸 de un conjunto de tablas. Se puede usar esta funci? para especificar un conjunto de tablas personalizadas que permitan la utilizaci? de p疊inas de c?igos de 8 bits alternativas. El par疥etro table apunta a un array de 256 enteros short que contienen el valor Unicode para cada car當ter en la p疊ina de c?igos. El par疥etro extras, si no es NULL, apunta a una lista de pares de valores que es utilizada para realizar la conversi? inversa, es decir, reducir los valores Unicode a la representaci? correcta dentro de la nueva p疊ina de codigos. Cada par de valores consiste en un valor Unicode seguido por la forma de representaci? correspondiente dentro de la p疊ina de c?igos. La tabla debe finalizar con el valor cero en Unicode. Esta tabla permite que varios car當teres Unicode puedan representarse mediante un solo valor en la p疊ina 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? indica si dicha conversi? es necesaria. La conversi? 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當teres menores que 128). Como valor para uno de los par疥etros 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?ero de bytes que ser疣 necesarios para almacenar la cadena especificada tras una conversi? al nuevo tipo, incluyendo el car當ter terminador nulo. Los par疥etros 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疥etros 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? 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?, para asegurarse de que son tipos diferentes, no realizando conversi? alguna si los tipos son 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?. 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? a ASCII. Se expande a uconvert(s, U_CURRENT, buf, U_ASCII, sizeof(buf)).
Relacionado con: uconvert.
un puntero a una cadena en el formato de codificaci? 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? auxiliar de bajo nivel para leer datos de texto en Unicode. Dada la direcci? de un puntero a un string en el formato de codificaci? 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? auxiliar de bajo nivel para escribir datos de texto en Unicode. Escribe el caracter especificado en la direcci? dada usando el formato de codificaci? actual y devuelve el n?ero de bytes escritos.
Relacionado con: ugetc, ugetx, uwidth, ucwidth, uisok.
int uwidth(const char *s);
Funci? auxiliar de bajo nivel para comprobar datos de texto en Unicode. Devuelve el n?ero de bytes ocupados por el primer caracter de la cadena especificada en el formato de codificaci? actual.
Relacionado con: uwidth_max, ugetc, ugetx, usetc, ucwidth, uisok.
int ucwidth(int c);
Funci? auxiliar de bajo nivel para comprobar datos de texto en Unicode. Devuelve el n?ero de bytes que ocupar? 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? 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 ?dice especificado. Si el ?dice es ugetat, usetat, uinsert, uremove. int ugetat(const char *s, int index);
uinsert, uremove. int usetat(char *s, int index, int c);
Reemplaza el caracter del string con el ?dice 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? antes en esa posici?). Devuelve el n?ero de bytes que ha sido desplazada la parte derecha de la cadena. Si el ?dice es negativo cuenta hacia atr疽 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? de la cadena especificada por index, desplazando el resto de los datos para hacer sitio. Devuelve el n?ero de bytes que ha desplazado la parte derecha. Si el ?dice 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? index de la cadena, desplazando el resto de los datos para llenar la posici? vac?. Devuelve el n?ero 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? 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? 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?ero de bytes que un car當ter puede ocupar en el formato de codificaci? especificado. Pase U_CURRENT para indicar el formato de codificaci? actual.
Relacionado con: uwidth, ucwidth.
int utolower(int c);
Esta funci? devuelve c, convirti駭dola a min?culas si estaba en may?culas.
Relacionado con: utoupper, ugetc, ugetx, usetc, uwidth, ucwidth, uisok.
int utoupper(int c);
Esta funci? devuelve c, convirti駭dola a may?culas si estaba en min?culas.
Relacionado con: utolower, ugetc, ugetx, usetc, uwidth, ucwidth, uisok.
int uisspace(int c);
Devuelve distinto de cero si c es car當ter de espaciado, es decir, un retorno de carro, una nueva l?ea, p疊ina, 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?ito.
Relacionado con: uisspace, ugetc, usetc, uwidth, ucwidth, uisok.
char *ustrdup(const char *src)
Esta funci? copia la cadena src terminada en NULL en una nueva 疵ea 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? 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? copia src en dest (incluyendo el terminador de cadena NULL), uconvert, ustrcpy, ustrzncpy. char *ustrcat(char *dest, const char *src);
Esta funci? 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? concatena src al final de dest, cuya longitud en bytes es ustrcat, ustrzncat. int ustrlen(const char *s);
Esta funci? devuelve el n?ero de car當teres de s. Tenga en cuenta que esto no tiene que ser igual que el tama? de la cadena en bytes.
Relacionado con: uconvert, ustrsize, ustrsizez.
int ustrcmp(const char *s1, const char *s2);
Esta funci? compara s1 con s2. Devuelve cero si las cadenas son iguales, un n?ero positivo si s1 va detr疽 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);
Relacionado con: uconvert, ustrzcpy, ustrncpy.
char *ustrncat(char *dest, const char *src, int n);
Esta funci? es como `strcat' con la excepci? de que no se a?dir疣 m疽 de n bytes de src al final de dest. Si el car當ter terminador NULL es autom疸icamente el car當ter NULL a dest, por lo que se escribir疣 n+1 car當teres. El valor de retorno es dest.
Relacionado con: uconvert, ustrcat, ustrzncat.
char *ustrzncat(char *dest, int size, const char *src, int n);
Esta funci? es como ustrszcat() con la excepci? de que no se a?dir疣 ustrncat. int ustrncmp(const char *s1, const char *s2, int n);
Esta funci? compara hasta n car當teres de s1 con s2. Devuelve cero si las cadenas son iguales, un n?ero positivo si s1 va detr疽 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? compara s1 con s2, ignorando las may?culas.
Relacionado con: uconvert, ustrsize, ustrsizez, ustrcmp, ustrncmp.
char *ustrlwr(char *s);
Esta funci? sustituye todas las letras may?culas de s con min?culas.
Relacionado con: uconvert, utolower, ustrupr.
char *ustrupr(char *s);
Esta funci? sustituye todas las letras min?culas de s con may?cylas.
Relacionado con: uconvert, utolower, ustrlwr.
Relacionado con: uconvert, ustrrchr, ustrstr, ustrpbrk, ustrtok.
char *ustrrchr(const char *s, int c);
Esta funci? devuelve un puntero a la ?tima 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? 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, ustrchr, ustrrchr, ustrstr, ustrtok.
char *ustrtok(char *s, const char *set);
Esta funci? recupera palabras de s que est疣 delimitadas por car當teres de set. Para iniciar la b?queda, pase la cadena que quiere analizar como s. Para el resto de las palabras, pase NULL en su lugar. Devuelve un
Relacionado con: uconvert, ustrchr, ustrrchr, ustrstr, ustrpbrk, ustrtok_r.
char *ustrtok_r(char *s, const char *set, char **last);
Versi? reentrante de ustrtok. El ?timo par疥etro es usado para almacenar por d?de 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?ero equivalente en coma flotante de doble precisi?. Esta funci? es casi como `ustrtod(s, NULL)'. Devuelve un valor equivalente, o cero si la cadena no representa un n?ero.
Relacionado con: uconvert, ustrtol, ustrtod.
Si el par疥etro 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?ero de coma flotante tantos car當teres de s que parezcan un n?ero en coma flotante, y hace que *endp apunte al primer car當ter no usado, si endp no es un puntero nulo.
Relacionado con: uconvert, ustrtol, cadena est疸ica 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? escribe datos formateados en el buffer de salida. El car當ter NULL es escrito para marcar el final de la cadena. Devuelve el n?ero de car當teres que fueron escritos, sin inclu? el car當ter terminador nulo.
Relacionado con: uconvert, uszprintf, uvsprintf.
int uszprintf(char *buf, int size, const char *format, ...);
Esta funci? escribe datos formateados en el buffer de salida, cuya
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