Título: ¿Alguien sabe de alguna funcion "gets" que no imprima el salto de linea final? Publicado por: Usuario887 en 13 Noviembre 2021, 18:59 pm Hola,
Como saben, la funcion gets generalmente imprime el salto de linea final, por lo que el cursor salta de linea cuando se presiona [Enter] ademas de solo guardar la cadena. Lo que me gustaria saber es si hay una funcion como esta que no imprima este salto de linea, sino que se quede en la misma linea Gracias... Título: Re: ¿Alguien sabe de alguna funcion "gets" que no imprima el salto de linea final? Publicado por: MAFUS en 22 Noviembre 2021, 16:50 pm Te recomiendo cambiar gets por fgets.
Si no quieres el salto de línea lo mejor es que lo busques y lo borres. Una solución podría ser: Código: #include <string.h> // strchr Editado: quitando la parte que recomendaba cambiar de foro por estar mal ubicado. Título: Re: ¿Alguien sabe de alguna funcion "gets" que no imprima el salto de linea final? Publicado por: Usuario887 en 23 Noviembre 2021, 16:19 pm Eso podria funcionar. Gracias por tu respuesta
Título: Re: ¿Alguien sabe de alguna funcion "gets" que no imprima el salto de linea final? Publicado por: RayR en 24 Noviembre 2021, 17:59 pm Si entendí bien, limpiar el buffer no te va a servir para lo que quieres. Luego de presionar Enter, el cursor ya se movió. Que después lo limpies del buffer interno no altera de ninguna manera lo que está en pantalla.
Que yo sepa no hay ninguna función ni modo de consola que permita lo que quieres, pero sí puedes escribir una función propia que haga exactamente lo que necesitas. Podrías implementarla mediante _getch(), por ejemplo. Alternativamente, podrías reposicionar manualmente el cursor. Por ejemplo: Código
Aclarando que si el número de caracteres introducidos es muy grande y ocupa más de una línea, habría que hacer un par de cálculos más para determinar en que columna y línea se presionó el Enter. Título: Re: ¿Alguien sabe de alguna funcion "gets" que no imprima el salto de linea final? Publicado por: AlbertoBSD en 25 Noviembre 2021, 12:08 pm Si, como te recomiendan es mejor utilizar fgets y quitar el retorno de linea manualmente.
Yo lo hago utilizando una funcion trim. Código
|