Salir de un bucle while sin pulsar Ctrl + d [getchar -Lenguaje C]

Iniciado por NOB2014, 29 Noviembre 2015, 15:31 PM

0 Miembros y 1 Visitante están viendo este tema.

NOB2014

Hola a todos y que tengan un muy buen día,

#include <stdio.h>

int main(int argc, char **argv){
int c;

printf("\n Para finalizar ==> Ctrl + d (linux) == Ctrl + c (Windows)");
printf("\n\n Por favor introduzca una numero entero...: ");

while(EOF != (c = getchar())){
if( c >= 48 && c <= 57 )
putchar(c);
}

printf("\n EOF == %d\n", EOF);

return 0;
}


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
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-

ivancea96


NOB2014

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.-

while( c != '\n'){
             .......................
             .......................
}


Saludos.
Daniel
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-