UC3M

Telematic/Audiovisual Syst./Communication Syst. Engineering

Systems Architecture

September 2017 - January 2018

8.3.2.  The puts function

The puts function can be used to write a sequence of characters to the standard output stream:

#include <stdio.h>
int *puts(const char *s);

s refers to the character array that contains the string. If the function is successful, it returns 0. Otherwise, it returns a nonzero value.

The following program shows an example of using gets and puts.

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#define MAX_LENGTH 80

int main(void)
{
  char string[MAX_LENGTH];

  printf("Please, write a line of no more than 80 characters:\n");
  gets(string);
  printf("The entered line is:\n");
  puts(string);
  return 0;
}

Note

As you can see, the use of gets is quite dangerous. Since gets does not know the size of the character array you pass it, it simply reads data until a newline is encountered. This can be a trouble when user types more characters than your array can hold. As a result, your other variables would get overwritten and your program will crash or, at best, behave unpredictably. We will see more secure functions later on.