El caso es que a scanf no le llegan los argumentos .... y no se por qué.
Puede alguien decirme que he hecho mal ?
PD: tengo todos los includes. Gracias
Título: Re: fallo intentando hacer scanf personalizado
Publicado por: Eternal Idol en Jueves 14 de Mayo de 2009, 21:39
Yo lo depure y jamas sale del while ...
Título: Re: fallo intentando hacer scanf personalizado
Publicado por: krnl64 en Jueves 14 de Mayo de 2009, 21:50
Ahora arreglo eso.
Supon que limpia el buffer.
Título: Re: fallo intentando hacer scanf personalizado
Publicado por: Eternal Idol en Jueves 14 de Mayo de 2009, 22:24
Me parece que no podes pasar el va_list, tenes que usar va_arg ... igual ¿No es mucho mejor usar fgets y sscanf (en lugar de limpiar el buffer no ensuciarlo directamente)?
Título: Re: fallo intentando hacer scanf personalizado
Publicado por: krnl64 en Viernes 15 de Mayo de 2009, 22:05
Claro, me gustaria no ensuciarlo. Pero entonces cómo hago que este trozo de codigo funcione ?
para borrar el contenido del array y en caso que quisiera liberarlo poner *line=0?
Título: Re: fallo intentando hacer scanf personalizado
Publicado por: Eternal Idol en Sábado 16 de Mayo de 2009, 00:06
La tecnica es leer con una funcion como fgets que a diferencia de scanf no deja basura en el buffer, la cadena donde se almacene puede ser memoria dinamica tranquilamente no tiene que ser un array.
Con *line = 0; hacemos que la cadena linea este vacia (las cadenas terminan en 0), supongamos que fgets falla y no escribe nada (lo mismo habria que hacer al principio, igual es un ejemplo nada mas), entonces seguimos teniendo una cadena vacia, el metodo del memset tambien es bueno (siempre es mejor usar sizeof por si cambiamos el tamaño).
Título: Re: fallo intentando hacer scanf personalizado
Publicado por: krnl64 en Sábado 16 de Mayo de 2009, 00:13
Muchas Gracias, me sacaste de la duda. Saludos.
Título: Re: fallo intentando hacer scanf personalizado
Publicado por: Eternal Idol en Sábado 16 de Mayo de 2009, 01:17