Hola, voy directamente al grano, estoy intentando ejecutar un bucle durante X milisegundos en linux, en windows lo he conseguido hacer así:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <time.h>
#include "funciones.h"
char iesperaMirandoTecla(int milisegundos){ //Hace esperar "milisegundos" milisegundos mientras va mirando por teclado si se esta pulsando alguna tecla
char caracter='\0';
int contador=0;
clock_t final
=clock()+(milisegundos
*(CLOCKS_PER_SEC
/1000)); init_keyboard();
while(( clock() < final
) && (caracter
=='\0')){ if(kbhit()){
caracter = readch();
}
esperaMilisegundos(1);
contador++;
}
close_keyboard();
return caracter;
}
pero en linux pongo lo mismo y no funciona, en principio todo(vale casi todo lo del teclado no) esta en ANSI C y en linux no me funciona y no logro entender y no logro saber el porque ..., ¿alguien tiene alguna idea?
Gracias de antemano
P:D: Aclaración: Seria question de antes de entrar al bucle preguntarle al sistema la "hora" y luego a cada aliteracion del bucle mirar la hora que es y mirar si se ha pasado del tiempo