Título: Duda con fgets Publicado por: dalberto9410 en 27 Marzo 2013, 06:07 am Hola, aquí yo de nuevo xD ayer puse una duda que tenia y se resolvia usando fgets allí todo bien pero he estado probando y cuando uso fgets se salta una linea
Código: #include<stdio.h> (http://img716.imageshack.us/img716/2286/xddmn.jpg) Ojo que con scanf no ocurre eso pero quisiera hacerlo con fgets :/ Gracias de antemano!! Saludos. Título: Re: Duda con fgets Publicado por: rir3760 en 27 Marzo 2013, 06:38 am Lo que indicas es normal ya que fgets lee y almacena una linea de texto incluyendo el avance de linea. Si no quieres el '\n' debes eliminarlo manualmente mediante un bucle o utilizando la función strchr (prototipo en <string.h>), como hacerlo con esta ultima:
Código
Un saludo Título: Re: Duda con fgets Publicado por: dalberto9410 en 27 Marzo 2013, 06:45 am Ya probé el codigo que me diste y lo entendi según lo poco que sé,creo que allí lo que estas haciendo es crear una variable p que es un puntero y coje la direccion donde encuentre un salto de linea y lo remplace por '\0' no?
Ah y otra cosa como es el funcionamiento de puts? me podrías explicar D: Graax por responder :D Título: Re: Duda con fgets Publicado por: rir3760 en 27 Marzo 2013, 06:55 am creo que allí lo que estas haciendo es crear una variable p que es un puntero y coje la direccion donde encuentre un salto de linea y lo remplace por '\0' no? Correcto. Utilizamos strchr para buscar el '\n' en la cadena y almacenamos su resultado en la variable "p". Si es NULL significa que no se encontró, si es distinto entonces esa es la dirección en la cadena donde se almacena el carácter. En este punto basta con utilizar "*p = '\0'" para sobrescribir el '\n' con un '\0'.Ah y otra cosa como es el funcionamiento de puts? Es una función simple, imprime la cadena pasada como argumento y a continuación imprime un avance de linea. Por ejemplo en lugar de:Código Podemos utilizar con el mismo efecto (nos ahorramos el '\n'): Código Un saludo Título: Re: Duda con fgets Publicado por: dalberto9410 en 27 Marzo 2013, 07:27 am Gracias rir3760 no sabia que existia "Puts" yo siempre usaba salto de línea '\n' ....
joder con esto me ahorro mucho xD ;-) ;-) ;-) |