[eside-ghost] Problemas C
Álvaro Morán
nirvana644 en gmail.com
Mar Abr 6 22:14:54 CEST 2010
Hola,
soy un novato en esto de C y tenía un problema con los caracteres no ASCII.
con un programa tan simple como este:
*#include <ctype.h>*
*#include <stdio.h>*
*
*
*#define STRINGMAX 100*
*
*
*int main(void)*
*{*
* char c, nombre[STRINGMAX];*
* int i, suma = 0;*
*
*
* printf("\n¡Hola! ¿Cuál es su nombre? ");*
* for(i=0; (c=getchar()) != '\n'; ++i) {*
* nombre[i] = c;*
* if(isalpha(c))*
* suma += c;*
* }*
* nombre[i] = '\0';*
* printf("\n%s%s%s\n%s",*
* "Encantado de conocerle ", nombre, ".",*
* "Su nombre deletreado cuenta atrás es ");*
* for(--i; i>=0; --i)*
* putchar(nombre[i]);*
*
*
* printf("\n%s%d%s\n\n%s\n",*
* "y las letras en su nombre suman ", suma, ".",*
* "¡Qué tenga un buen día!");*
*
*
* return 0;*
*}*
*
*
me doy cuenta de que al introducir mi nombre, Álvaro, en el printf que
imprime el nombre el carácter acentuado se muestra correctamente pero no con
el putchar. Si intento por probar hacer un *putchar('\u00C1'); *el
compilador gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9) me dice:
*$ gcc -Wall -Wstrict-prototypes nice_day2.c -o niceDay2.out*
*nice_day2.c:35:13: warning: universal character names are only valid in C++
and C99*
*nice_day2.c:35:13: warning: multi-character character constant*
*
*
La alternativa de hacer un printf de un caracter tampoco funciona, el
putwchar también lo he probado sin éxito, y usando la opción del compilador
-std=c99 para que me compile en C99 tampoco.
Y mi pregunta es ¿Hay alguna alternativa al putchar? ¿O hay algún modo de
compilar los programas en C en el modo C99 y que funcionen?
Álvaro
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20100406/55054c27/attachment.htm
Más información sobre la lista de distribución eside-ghost