Recuerda que el teclado es un fichero más.
Para ver si hay algo, deberías leer nuevamente el teclado, y preguntar si en esa variable hay algo.
Si leyeras el teclado con HOLA MUNDO, en nuevo teclado te quedaria "ndo" si no me equivoco.
Código (c) [Seleccionar]
while(!feof(stdin))//Leeria el teclado hasta que se ingrese un caracter de fin de archivo
Para ver si hay algo, deberías leer nuevamente el teclado, y preguntar si en esa variable hay algo.
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *s;
s = malloc(sizeof(char) * 8);
fgets(s,8,stdin);
printf("teclado> %s\n",s);
free(s);
s = malloc(sizeof(char) * 8);
fgets(s,10,stdin);
printf("HAY ALGO || Nuevo teclado> %s\n",s);
free(s);
}
Si leyeras el teclado con HOLA MUNDO, en nuevo teclado te quedaria "ndo" si no me equivoco.