[ Character I/O | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]
get_char(+Stream, ?Char)
Reads the next character from the input stream Stream and unifies it with a
single character string Char.
- +Stream
- Integer (stream number) or Atom (reserved or user-defined symbolic stream name).
- ?Char
- Single character string or variable.
Description
Takes a single character string from the input stream Stream. and
unifies it with Char.
Fail Conditions
Fails if Char does not unify with the next character from the buffered
input stream Stream.
Resatisfiable
No.
Exceptions
- (4) instantiation fault
- Stream is not instantiated.
- (5) type error
- Stream is neither an integer nor an atom.
- (5) type error
- Char is instantiated, but not to a single character string.
- (190) end of file reached
- End of file has been reached.
- (192) illegal stream mode
- Stream is not open for reading.
- (193) illegal stream specification
- Stream is not a valid stream number.
Examples
Success:
[eclipse]: get_char(input,Char).
> a
Char = "a"
yes.
[eclipse]: get_char(input, "b").
> b
yes.
[eclipse]: sh('cat file1').
p
yes.
[eclipse]: open(file1, update,s),
> get_char(s,X).
X = "p"
yes.
Fail:
[eclipse]: get_char(input, "b").
> a
no.
Error:
get_char(Stream, "b"). (Error 4).
get_char(input, 'b'). (Error 5).
get_char(input, 98.0). (Error 5).
get_char("string", Char). (Error 5).
get_char(null,Char). (Error 190).
get_char(9,Char). (Error 192).
get_char(atom,Char). (Error 193).
See Also
get / 1, get / 2, get_char / 1, put / 1, put / 2, put_char / 1, put_char / 2