UC3M

Grado en Ing. Telemática/Sist. Audiovisuales/Sist. de Comunicaciones

Arquitectura de Sistemas

Septiembre 2017 - Enero 2018

8.3.2. La función 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;
}

Nota

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.