FPUTC (The GNU Fortran Compiler)

### 8.119 `FPUTC` — Write a single character in stream mode ¶

Synopsis:

  `CALL FPUTC(UNIT, C [, STATUS])`
  `STATUS = FPUTC(UNIT, C)`

Description:

  Write a single character in stream mode by bypassing normal formatted output. Stream I/O should not be mixed with normal record-oriented (formatted or unformatted) I/O on the same unit; the results are unpredictable.

  This intrinsic is provided in both subroutine and function forms; however, only one form can be used in any given program unit.

  Note that the `FGET` intrinsic is provided for backwards compatibility with `g77`. GNU Fortran provides the Fortran 2003 Stream facility. Programmers should consider the use of new stream IO feature in new code for future portability. See also Fortran 2003 status.

Class:

  Subroutine, function

Arguments:

  UNIT | The type shall be `INTEGER`.
  C | The type shall be `CHARACTER` and of default kind.
  STATUS | (Optional) status flag of type `INTEGER`. Returns 0 on success, -1 on end-of-file and a system specific positive error code otherwise.

Example:

      PROGRAM test_fputc
        CHARACTER(len=10) :: str = "gfortran"
        INTEGER :: fd = 42, i

        OPEN(UNIT = fd, FILE = "out", ACTION = "WRITE", STATUS="NEW")
        DO i = 1, len_trim(str)
          CALL fputc(fd, str(i:i))
        END DO
        CLOSE(fd)
      END PROGRAM

Standard:

  GNU extension

See also:

  `FPUT` — Write a single character in stream mode to stdout,
  `FGET` — Read a single character in stream mode from stdin,
  `FGETC` — Read a single character in stream mode