6.5 Lectura
de cadenas
En
teoría, podría utilizarse la opción
%s
de
scanf,
pero
CASI
NUNCA FUNCIONA.
Una
mejor alternativa es emplear
gets,
que también viene en
stdio.h
#include <stdio.h>
main ()
{
char nombre [80];
printf ( "¿Cuál es su nombre? " );
gets ( nombre );
printf ( "Parece que su nombre es %s\n", nombre );
}
NOTA:
gets
no comprueba el tamaño de la cadena. Si el texto tecleado tuviera
más de 80 caracteres, se destruirían posiciones de memoria
incorrectas.
Para
leer caracteres hasta un máximo, hay que usar
fgets:
fgets ( nombre, 80, stdin );
(el
identificador
stdin
se refiere a la
entrada
estándar
,
normalmente el teclado. Está definido en
<stdio.h>)