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

chavalito

Miembro muy activo
Noder
1 May 2019
81
6
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
Miembro del equipo
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Moderador
Noderador
Nodero
Noder
11 Ene 2019
3.212
4.597
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
Miembro del equipo
Burgués de Nodo
Moderador
Noderador
Nodero
Noder
24 Dic 2018
2.146
1.040
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
Arriba Pie