.
Si con el ASCII...
P.E.: El siguiente codigo puedes apretar TODO lo que desees del teclado pero solo capta las pulsaciones de numeros del 0 al 9 ( como cadena ), y deja de escribir al oprimir Enter...
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
char* GetStrKB();
int main() {
char *cadena = GetStrKB();
return 0;
}
char* GetStrKB()
/**
Obtiene las pulsaciones de entrada con un buffer dinamico.
**/
{
int c = 0;
char *str = NULL;
size_t szt_ln = 0;
while((c
=getchar()) != 10 ) // 10 = {enter} {
if ( c>='0' && c<='9' ) {
str
= (char*)realloc(str
,sizeof(char)*(szt_ln
+1)); // no es nesesario sizeof(char)... ya que char es 1byte... str[szt_ln++] = (char)c;
} else {
// QUIZAS haya que crear un Hilo para el Beep...
Beep ( 500 , 50 ); // Beep ( Frecuencia, Duracion en Milisegundos )
}
}
if ( str!=NULL ) str[szt_ln] = '\0';
return str;
}