#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#define PAUSA printf("nPulse enter para continuar");
stdin_flush();
getchar();
int stdin_flush(){
char buf[64];
unsigned int bytes_read;
char flag;
flag = fcntl(0, F_SETFL, O_NONBLOCK);
if(flag == -1){
return flag;
}
while(1){
bytes_read = read(0, buf, sizeof(buf));
if(bytes_read == 0){
flag = fcntl(0, F_SETFL, O_SYNC);
return flag;
}
if(bytes_read == -1){
if(errno = EWOULDBLOCK){
fcntl(0, F_SETFL, O_SYNC);
return flag;
}
write(2, "Error #%d while reading stdinn", errno);
flag = fcntl(0, F_SETFL, O_SYNC);
return -1;
}
}
}