Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: NOB2014 en 29 Noviembre 2015, 15:31 pm



Título: Salir de un bucle while sin pulsar Ctrl + d [getchar -Lenguaje C]
Publicado por: NOB2014 en 29 Noviembre 2015, 15:31 pm
Hola a todos y que tengan un muy buen día,

Código
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char **argv){
  4. int c;
  5.  
  6. printf("\n Para finalizar ==> Ctrl + d (linux) == Ctrl + c (Windows)");
  7. printf("\n\n Por favor introduzca una numero entero...: ");
  8.  
  9. while(EOF != (c = getchar())){
  10. if( c >= 48 && c <= 57 )
  11. putchar(c);
  12. }
  13.  
  14. printf("\n EOF == %d\n", EOF);
  15.  
  16. return 0;
  17. }

Creo que no es necesario que comente demasiado sobre lo que quiero lograr que es finalizar el bucle de una forma autómatica sin tener que apretar Ctrl + d, tengo muchas horas leyendo y practicando sobre el tema pero no logro solucionarlo,-

Saludos.
Daniel


Título: Re: Salir de un bucle while sin pulsar Ctrl + d [getchar -Lenguaje C]
Publicado por: ivancea96 en 29 Noviembre 2015, 18:46 pm
¿Insertando un caracter que no sea una cifra?


Título: Re: Salir de un bucle while sin pulsar Ctrl + d [getchar -Lenguaje C]
Publicado por: NOB2014 en 30 Noviembre 2015, 03:09 am
Hola.
vaya manera de leer, pensar, practicar y consultar, al fin encontré una aparente solución, digo aparente porque todavía desconozco si es portable.-

Código
  1. while( c != '\n'){
  2.             .......................
  3.             .......................
  4. }

Saludos.
Daniel