Título: Como llenar un char desde el teclado Publicado por: Dacan en 22 Marzo 2013, 05:34 am He creado una funcion que cuenta las vocales y consonantes que hay en un char[100]
pero quiero saber como puedo llenar ese char desde el teclado para que cada letra de la oracion ocupe un espacio en el char. Quiero saber si es con for y scanf o si existe alguna funcion especial? AYUDA, por favor y gracias. Título: Re: Como llenar un char desde el teclado Publicado por: naderST en 22 Marzo 2013, 05:40 am Revisa la documentación que hace referencia a fgets() si no me equivoco esto es lo que estás buscando.
Título: Re: Como llenar un char desde el teclado Publicado por: Dacan en 22 Marzo 2013, 05:44 am Esa funcion que me diste, segun leo es para archivos.
Título: Re: Como llenar un char desde el teclado Publicado por: rir3760 en 22 Marzo 2013, 05:54 am Puedes utilizarla sin problemas con la entrada estándar, para ello utilizas stdin como tercer argumento. Mas o menos así:
Código De esa forma lees una linea de texto de un máximo de 100 caracteres. Un saludo Título: Re: Como llenar un char desde el teclado Publicado por: Dacan en 22 Marzo 2013, 14:42 pm No me funciona es que debo crear una funcion que lea una frase e intento esto pero no funciona:
Código
Título: Re: Como llenar un char desde el teclado Publicado por: rir3760 en 22 Marzo 2013, 16:31 pm En casos como este por favor no respondas con "no funciona", "no sirve", etc. porque aun cuando se te quisiera ayudar no es posible sin la información suficiente.
Lo mejor aquí es publicar el código fuente completo. Un saludo Título: Re: Como llenar un char desde el teclado Publicado por: Dacan en 22 Marzo 2013, 19:31 pm He aqui la solucion:
Código
Título: Re: Como llenar un char desde el teclado Publicado por: durasno en 22 Marzo 2013, 23:50 pm Hola! esto funciona bien:
Código
El error puede ser porque no sabes como funciona fgets(para tu proposito) o podes tener un error en otro lado. Es por eso q se te pidio el programa completo Saludos Título: Re: Como llenar un char desde el teclado Publicado por: rir3760 en 23 Marzo 2013, 05:24 am He aqui la solucion: Utilizar scanf en esa forma no se recomienda porque genera el mismo problema que la función gets: no se puede limitar el numero de caracteres que leerá la función y si este sobrepasa la capacidad del array el programa revienta. Eso se puede evitar utilizando " %49[^\n]".Código
Si en tu caso fgets no tiene el efecto esperado eso se debe a un error en alguna parte del programa (hay que revisarlo completo) o bien estas intercalando llamadas a scanf con getchar/fgets/etc. Un saludo |