Ayuda con programación C, en Geany base Ubuntu. Funcion FFLUSH;


chavalito

Miembro muy activo
Noder
Muy buenas.

Es una chuminá, pero me está volviendo bien locote quebrada la poronga.

Estoy con el típico programa con menús dentro de menus que hay que seleccionar mediante una cifra, lo que me jode, es que cuando te pide un número rollo selecciona el menú 1.drogeria 2.polvorin 3.drogaina 4.uranio empobrecido, cuando selecciono el numero se pinta en pantalla. ¿Como puede evitarse? He mirado y creo que es con el fflush; pero nada, puede ser que al igual que ciertas librerias que no estan en Linux pase lo mismo que fflush;, puede que mi autismo augmente por momentos? No lo se, me aiuras?

Venga chavalada confio en vosotros.
 

destapeman

FUCK PUSSYS, YES BADASS
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder
No tengo ni idea de C , pero a lo mejor puedes redirigir la salida del número a /dev/null (creo que era ese directorio) es como enviar el número a la papelera, pero no estoy muy seguro, hace bastante que no me topo con una situación así.
Se que en los scripts de Linux puedes inyectar código de C, supongo que puedes hacerlo también en viceversa, ya que trabajas en un Linux... pero te cortarías a solo poder utilizarlo en Linux.
Creo que la sintaxis era algo así
$numero >> /dev/null
Pero tienes que enviarlo después de que haya validado en el CASE de control.
No estoy 100% seguro de que pueda funcionar, yo lo probaría en una virtual antes.
 

Valeo08

Capullo perro no mucho
Noderador
Nodero
Noder
En lugar de scanf, se utiliza getch, una función que recibe un carácter por teclado inmediatamente (no hace falta pulsar enter) y no tiene un echo, es decir, lo que pulses no sale por pantalla. En cuanto a fflush, que es para limpiar la caché de entrada, se utiliza antes de la función anterior, por ejemplo, colocándole entre paréntesis stdin, es decir, quedaría fflush(stdin);

Obviamente hay que importar unas cuantas librerías para ello, pero para eso ya está google.
Un pajarito me ha dicho que tendrías que poner, si usas las dos funciones, esto:
C++:
#include<stdio.h>
#include<conio.h>
 
  • Like
Reacciones : Anon