Título: problema con el buffer del teclado no es fflush(stdin) tranquilos Publicado por: gitii en 30 Abril 2018, 16:57 pm Tengo un pequeño problema al utilizar while((getchar()) != '\n'); y es que cuando se ingresan menos caracteres de los que hay en el buffer se queda esperando el enter que es como deberia ser pero queda un poco feo. No doy encontrado la solucion si alguien me puede ayudar se lo agradezco un saludo!
Código: #include <stdio.h> Título: Re: problema con el buffer del teclado no es fflush(stdin) tranquilos Publicado por: MAFUS en 30 Abril 2018, 21:01 pm Qué tal así:
Código
Esta función se usa en conjunción con fgets aprovechando que esta también adquiere el retorno de carro. Sí por límite de caracteres no ha conseguido de capturar todo desde el buffer, ésta función limpiará lo que ha sobrado incluso el carácter de nueva línea. En cambio si se ha capturado, incluso el carácter de nueva línea, la función lo buscará y lo sustituirá por un carácter nulo (consiguiendo así que nuestra cadena no haga un cambio de línea no deseado cuando la representemos) y ya no esperara el carácter de nueva línea que no existe en el buffer. Título: Re: problema con el buffer del teclado no es fflush(stdin) tranquilos Publicado por: animanegra en 30 Abril 2018, 21:01 pm La pregunta es mas bien, ¿Para que pones el bucle del getchar? fgets ya está cogiendo la palabra hasta el intro. ¿Para que es el bucle del getchar?
Título: Re: problema con el buffer del teclado no es fflush(stdin) tranquilos Publicado por: gitii en 30 Abril 2018, 21:04 pm gracias mafus
animanegra por culpa del salto de linea |