puts
La función puts
se usa para escribir una
secuencia de caracteres al flujo de salida estándar:
#include <stdio.h> int *puts(const char *s);
s
se refiere al array que contiene la cadena
de caracteres. Si la función se realiza correctamente, devuelve 0. Si no,
devuelve algo distinto de cero.
El siguiente programa muestra un ejemplo del
funcionamiento de gets
y puts
.
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <stdio.h> #define TAM_MAXIMO 80 int main(void) { char cadena[TAM_MAXIMO]; printf("Por favor, escribe una línea de no más de 80 caracteres:\n"); gets(cadena); printf("La línea que has introducido es:\n"); puts(cadena); return 0; } |
Como podéis ver, el uso de gets
es algo
peligroso. La función no conoce el tamaño del array que le vas a pasar,
simplemente va leyendo datos de la entrada hasta que llega al
final. Esto da problemas si el usuario teclea más caracteres de lo que
puede almacenar el array declarado, pudiendo provocar que otras
variables se vean afectadas al ser sobreescritas o, como poco, que la
aplicación se comporte de manera inesperada. Más tarde veremos funciones
seguras para leer cadenas.