Título: Problemas con buffer, normal? Publicado por: n-utz en 6 Abril 2017, 00:12 am Buenas noches gente, miren estoy programando con el IDE Code:blocks en Ubuntu, y ultimamente me encontre con problemas no normales, donde supongo que el codigo esta bien e igual el programa se comporta extrañamente.
Generalmente se da cuando cargo un string y luego quiero imprimirlo, no lo imprime, o imprime uno solo y no los otros tres. Realice un codigo simple para que vean de que se trata: Código: typedef struct { Por ejemplo este codigo solo imprime lo que guarde en f.detalle, y lo de f.sentencia no lo imprime y finaliza el programa en consola. Yo supongo que es un problema con el buffer, pero al estar en Ubuntu no puedo hacer uso de fflush(stdin); Puede que limpie el buffer manualmente con este codigo: Código: void limpiar_buffer(){ Pero igual el programa falla, es mas parece que nunca sale de esa funcion/bucle, aunque el codigo lo saque de google. Espero que puedan ayudarme, ya que necesito hacer un programa en C con archivos y demas. Tambien acepto sugerencias de otros IDES. Título: Re: Problemas con buffer, normal? Publicado por: MAFUS en 6 Abril 2017, 18:39 pm A parte de un error en los scanf (para capturar cadenas no hay que usar el operador &) vacía el buffer con la sentencia
Código Título: Re: Problemas con buffer, normal? Publicado por: n-utz en 7 Abril 2017, 00:21 am Corregi esos errores, e igual me sigue imprimiendo la primer cadena sola, te comento como quedo el codigo:
Código: void limpiar_buffer(){ Título: Re: Problemas con buffer, normal? Publicado por: MAFUS en 9 Abril 2017, 02:32 am El segundo limpiar_buffer() sobra. No hay necesidad de limpiarlo allí.
De todas formas lo he probado y funciona. Muestra el contenido de las dos cadenas pero lo hace en la misma línea porqué no has usado un salto de linea cuando termina de escribir la primera. Título: Re: Problemas con buffer, normal? Publicado por: n-utz en 9 Abril 2017, 22:32 pm Simplemente era para probar, y no puedo hacer que funcione en mi IDE, imprime solo la primer cadena...
Alguien sabe de que se puede tratar?? |