[C con Clase] Acentos

Pablo Alejandro Herrero pablusplus en gmail.com
Jue Jun 9 17:49:11 CEST 2011


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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20110609/ec815210/attachment.html>


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