SoloCodigo
Informática en general => Dudas informáticas => Mensaje iniciado por: scatterbrain en Jueves 6 de Mayo de 2004, 17:51
-
:comp: el problema es que necesito una funcion que borre el buffer del teclado.
haber pero en otras palabras no se si sea eso exactamente ya que probe con
fflush(stdin) y no funciona ,lo que quiero hacer es: teniendo un getch() ,que este mismo no me tome lo que yo haya ingresado en el teclado antes de el ,o sea que yo pueda(sin tener ninguna funcion de reconocimiento de la entrada) presionar teclas y teclas antes del getch() y que este me tome solo la ultima (algo asi).
de antemanose muchas gracias....
-
:(
bueno,si no entonces alguna direccion donde encontrar informacion sobre las librerias de c(en especifico la stdio.h)
por favor!!!
-
¿Estas trabajando en Linux? Bajo mi distribucion de Linux (RH 9) no he conseguido que fflush(stdin) funcione.
Un saludo.
Ruben3d
-
la verdad es que estoy trabajando en windows pero ,acaso no hay otra funcion parecida
?
-
Si estas usando el compilador de microsoft, el añadir el flag 'c' al modo de apertura deberia hacer que funcionara el fflush. (por ej, fopen("fich.txt","wbc")). Lo que pasa es que al tratarse del stdin no se como hacerlo. Puedes probar con _commit(stdin) o _commit(0), declarado en io.h.
Un saludo.
Ruben3d
-
a ok voy a tratar ,pero que hace commit? :P
-
De MSDN: "Flushes a file directly to disk."
Viene a hacer lo que el fflush, solo que es una función de más bajo nivel.
Puedes encontrar información extendida aqui:
Run-Time Library Reference - _commit (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt__commit.asp)
Un saludo.
Ruben3d
-
:kicking:
ya consegui lo que queria .
descubri una funcion en conio.h que se declara
int ungetch(int n);
que,como el nombre lo dice,hace que el proximo getch() o getche()
lea el caracter "n" .
y con eso se resolvio mi problema en todo caso gracias
a proposito esta buena la pagina esa no la conocia ,chao:hola: