[C con Clase] Acentos

Pablo Alejandro Herrero pablusplus en gmail.com
Lun Jun 13 15:39:17 CEST 2011


je! de nada!! me alegro haberte resultado de ayuda pero... el crédito es
suyo: Felicitaciones!

El 10 de junio de 2011 12:47, Antonio Cascales
<antonio.cascales en gmail.com>escribió:

>  ¡Hola!:
>
>    ¡Muchísimas gracias pablo! me has dado la pista para solucionar el
> problema. :)
>
>    quizás sea una manera bastante chapucera, y quizás no sea la forma
> correcta, pero simplemente borrando la línea:
>
>        else if( isascii( d->inbuf[i] ) && isprint( d->inbuf[i] ) )
>
>    Se ha solucionado, ya puedo mostrar los carácteres especiales como las
> acentuadas y la ñ. :)
>
>    Gracias a tu pista, se me ha ocurrido probar que pasaría si eliminaba
> esa línea, y funcionó.
>
>    ¡un saludo muy grande y gracias! :)
>
>           Antonio
>
>
> ----- Original Message -----
> *From:* Pablo Alejandro Herrero <pablusplus en gmail.com>
> *To:* Lista de correo sobre C y C++ <cconclase en listas.conclase.net>
> *Sent:* Thursday, June 09, 2011 5:49 PM
> *Subject:* Re: [C con Clase] Acentos
>
> Amigo, no sería más facil que aprendas inglés? ;-)) no investigué mucho
> pero esta parte del código:
>
>        else if( d->inbuf[i] == '\b' && k > 0 )
>          --k;
>       else if( isascii( d->inbuf[i] ) && isprint( d->inbuf[i] ) )
>          d->incomm[k++] = d->inbuf[i];
>
> reemplaza caracteres de un buffer por los de otro, lo cual podría servir
> para 'traducir' de una tabla de caracteres a otra. En la linea que indicas
> se consulta si un caracter en un espacio de memoria dado (en este caso el
> buffer) es ascii e imprimible (o sea que no es un caracter de control -del 0
> al 31 son de control-) y en ese caso lo reemplaza por el  valor de incomm
> por el de inbuf. Pero no entiendo como encaja, no es muy sencillo escudriñar
> 3417 lineas de código y no puedo compilarlo en mi máquina, que de hecho es
> del trabajo jejeje. Si querés traducir el programa, yo reescribiría todas
> las cadenas del inglés al español, como ser está linea:
> "act_string: player %s has sex set at %d!" quedaría "act_string: el jugador
> %s tiene un set sexual en %d!"
>
> algunas cosas quedarían en ingles, como nombres de funciones o estados que
> se definen en el código -como act_string- pero porque sirven para depurar
> cuando aparece un error, pero lo demás se puede. Si vos escribis en el
> programa un acento, y al momento de ejecutarlo aparece otra cosa, es porque
> son distintas codificaciones de texto... eso lo podés arreglar la misma
> codificación en el IDE que en la consola o el entorno de ejecución por
> ejemplo en Code::blocks podés facilmente seleccionar el conjunto de
> caracteres que querés usar; en cuyo caso una vez modificado, verías lo mismo
> que saldría por pantalla. Se que no es lo que necesitas, pero quien sabe!!
> saludos!
>
> El 6 de junio de 2011 19:41, Antonio Cascales <antonio.cascales en gmail.com>escribió:
>
>>  Hola a todos:
>>
>>    Es la primera vez que escribo a la lista, a pesar de que llevo algún
>> tiempo ya registrado. Llevo mucho tiempo queriendo aprender a programar,
>> pero a pesar de ello, no logro mi objetivo y es por ello que no participo
>> nada en la lista, pues todo lo que aquí se habla, practicamente, me suena a
>> chino.
>>
>>    Esta vez escribo, pues me gustaría pediros ayuda. No sé si  podréis
>> ayudarme, pero bueno, al menos os planteo el caso y vosotros me decís si hay
>> manera de solucionarlo y como, o si por el contrario, no tenéis ni idea,
>> aunque ser´´ia bastante extraño, veo que aquí domináis muchísimo todos los
>> aspectos de la programación.
>>
>>    Veréis, puesto que todavía no tengo conocimientos suficientes para
>> programar cosas demasiado complejas, estoy intentando traducir un programa,
>> o más bien un juego, del inglés, que es la lengua originaria, al Español.
>> pero me encuentro un problema, y esque los caracteres especiales, como á, é,
>> í, ó, ú, o ñ, no los reconoce como es lógico porque ellos no las gastan,
>> pero a la hora de ejecutar el programa, y traducirlo al español, pues si
>> necesitaría que se viesen.
>>
>>    Según me han dicho, la posible solución está en la siguiente línea de
>> código:
>>
>>       else if( isascii( d->inbuf[i] ) && isprint( d->inbuf[i] ) )
>>
>>    Adjunto os remito el archivo en el que está esta línea, pues imagino
>> que no basta con una sola línea. Dicha línea está en una funcion llamada
>> read_from_buffer. Hasta aquí, todo lo que he podido descifrar. La manera de
>> solucionarlo, por el momento escapa a mi comprensión, quizás, hasta que
>> alguien pueda explicarme los cambios a realizar.
>>
>>    sé que quizás estoy pidiendo demasiado, pero no sé de ningún sitio más
>> donde puedan echarme un cable.
>>
>>    Os agradecería mucho la ayuda.
>>
>>    Un saludo,
>>
>>           antonio
>>
>>
>> _______________________________________________
>> Lista de correo Cconclase Cconclase en listas.conclase.net
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>>
>
>  ------------------------------
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20110613/735d04e6/attachment.html>


Más información sobre la lista de distribución Cconclase