fputs(3)

fputs3

Output a line to a stream

Usage

#include <stdio.h>

int

fputs(const char *str, FILE *stream);

int

fputs_unlocked(const char *str, FILE *stream);

int

puts(const char *str);

Library

Standard C Library (libc, -lc)

Overview

The function fputs() writes the string pointed to by str to the stream pointed to by stream.

The fputs_unlocked() function is equivalent to fputs(), except that the caller is responsible for locking the stream with flockfile(3) before calling it. This function may be used to avoid the overhead of locking the stream and to prevent races when multiple threads are operating on the same stream.

The function puts() writes the string str, and a terminating newline character, to the stream stdout.

Return values

The functions fputs() and puts() return a nonnegative integer on success and EOF on error.

Errors

[EBADF]

The stream argument is not a writable stream.

The functions fputs() and puts() may also fail and set errno for any of the errors specified for the routines write(2).

Releases

87 releases since FreeBSD 2.0.5-RELEASE; the text changed 41 times.

  1. 2.0.5–2.1.7.1
  2. 2.2.2–3.4
  3. 3.5–3.5.1
  4. 4.0
  5. 4.1–4.2
  6. 4.3–4.4
  7. 4.5–4.11
  8. 5.0
  9. 5.1–6.3
  10. 6.4
  11. 7.0
  12. 7.1
  13. 7.2
  14. 7.3
  15. 7.4
  16. 8.0
  17. 8.1
  18. 8.2
  19. 8.3
  20. 8.4
  21. 9.0
  22. 9.1
  23. 9.2
  24. 9.3
  25. 10.0
  26. 10.1
  27. 10.2
  28. 10.3
  29. 10.4
  30. 11.0
  31. 11.1
  32. 11.2
  33. 11.3
  34. 11.4
  35. 12.0
  36. 12.1
  37. 12.2
  38. 12.3
  39. 12.4
  40. 13.0–13.2
  41. 13.3–14.5
  42. 15.0–16.0

Standards

The functions fputs() and puts() conform to ISO/IEC 9899:1990 (“ISO C90”).

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.