A raíz de este post me he puesto a pensar en todo esto.
Ya que C viene del UNIX y en UNIX todo son archivos y por tanto stdin es un archivo ¿qué tal si llevamos el puntero de stdin hasta el final y nos saltamos todo lo que hay dentro?
Al menos en MinGW64 funciona. Faltarían más pruebas con otras bibliotecas y S.O. para corroborar.
Incluso acepta una única pulsación de intro.
Ya que C viene del UNIX y en UNIX todo son archivos y por tanto stdin es un archivo ¿qué tal si llevamos el puntero de stdin hasta el final y nos saltamos todo lo que hay dentro?
Al menos en MinGW64 funciona. Faltarían más pruebas con otras bibliotecas y S.O. para corroborar.
Código (c) [Seleccionar]
#include <stdio.h>
int main() {
char c;
while(1) {
printf("> ");
c = getchar();
fseek(stdin, 0, SEEK_END);
printf("Caracter: %c\n", c);
}
}
Incluso acepta una única pulsación de intro.