Bueno, pues eso.. que tengo esta macro para poder leer cadenas de caracteres completas, pero por algún motivo que se me escapa no consigo entender porque se salta la primera palabra procesada:
#define LEE_CADENA(cadena, tamano) \
{\
int bucle=0;\
cadena[bucle]=getchar();\
while((cadena[bucle]=='\n') || (cadena[bucle]=='\t')) cadena[bucle]=getchar();\
while ((cadena[bucle]!='\n') && (bucle < (tamano-1))) \
{\
cadena[bucle]=getchar();\
bucle++;\
}\
cadena[bucle]='\0';\
}
Si le paso la cadena "Hola mundo", esta macro únicamente retorna la segunda palabra... ¿A alguien se le ocurre por qué?
printf("Introducir la cadena de texto: ");
scanf("%31s", texto);
LEE_CADENA(texto,31);
Un saludo a todos.