Programa que pueda leer una frase:
- Ya que el scanf no puede leer más allá de un espacio en blanco es necesario usar las funciones gets() y fgets() para trabajar con más de una cadena de caracteres.
- El gets tan solo necesita un parámetro pero produce un error si se sobrepasa el límite que le demos al char. Por ello debe especificarse ese mismo límite en el mensaje que verá al usuario o bien estar totalmente seguros de que escriba lo que escriba nunca podrá sobrepasarlo.
- El fgets() no produce sin embargo ese error, por lo que a la hora de elegir los programadores suelen quedarse con esta segunda opción.
- !Atención!: El límite del char nunca puede ser menor que el máximo de lectura que le demos al fgets, de lo contrario, y si de nuevo lo sobrepasamos, volvemos a caer en el mismo error. En cambio a la inversa no hay problema si el fgets tiene un valor máximo de lectura inferior al límite del char.
Para más información sobre el stdin:
http://www.conclase.net/c/curso/index.php?cap=902b
una pregunta yo uso devc ++ , el problema es que cuando me paso de la dimensión de 20 caracteres el programa tan solo se sale, aún si pongo scanf gets o fgets... no se que pasa :S saludos ! y gracias por tus vídeos que me han ayudado mucho!
OsmundFox 6 days ago
Excellente tutorial..
trimer34 1 year ago