while(getchar()!='\n');
Para limpiar el buffer tanto en linux como en windows en C utilizo lo siguiente:Código: [Seleccionar]while(getchar()!='\n');Creo que es fácil de entender pero te lo explico brevemente... Se llama al getchar, lo que lee lo compara con \n y si no es igual sigue leyendo... de esta forma si nosotros tenemos por ejemplo "Hello world\n" en el buffer, en la primera pasada quedará "ell world\n", así sucesivamente hasta que quede solamente "\n" se lee y como es igual que lo que estamos comparando pues se rompe el while quedándose el buffer limpio...Espero haberte servido de ayuda! Saludos!!
__fpurge(stdin);
l fflush(stdin);