FGET — Read a single character in stream mode from stdin#

FGET(C)#

Read a single character in stream mode from stdin 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.

Parameters:
  • 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.

Standard:

GNU extension

Class:

Subroutine, function

Syntax:
CALL FGET(C [, STATUS])
STATUS = FGET(C)
Example:
PROGRAM test_fget
  INTEGER, PARAMETER :: strlen = 100
  INTEGER :: status, i = 1
  CHARACTER(len=strlen) :: str = ""

  WRITE (*,*) 'Enter text:'
  DO
    CALL fget(str(i:i), status)
    if (status /= 0 .OR. i > strlen) exit
    i = i + 1
  END DO
  WRITE (*,*) TRIM(str)
END PROGRAM
See also:

FGETC — Read a single character in stream mode, FPUT — Write a single character in stream mode to stdout, FPUTC — Write a single character in stream mode