[ Stream I/O | Reference Manual | Alphabetic Index ]
get_stream(+StreamId, ?Stream)
Succeeds if Stream is the stream to which the stream StreamId is assigned.
- StreamId
- Stream alias (atom), or handle
- Stream
- Variable, stream handle or alias (atom)
Description
StreamId is an existing symbolic stream alias or a stream handle.
If Stream is a variable, it will get bound to a stream handle corresponding
to StreamId. If Stream is a symbolic stream alias or a handle, then
the predicate succeeds iff StreamId and Stream denote the same stream.
The predefined symbolic system stream names are:
input, output, error, warning_output, log_output,
stdin, stdout, stderr, null
Modes and Determinism
- get_stream(+, -) is det
- get_stream(+, +) is semidet
Fail Conditions
Fails if Stream is not a stream with the stream identifier StreamId
Exceptions
- (4) instantiation fault
- One or both of StreamId and Stream is not instantiated.
- (5) type error
- Stream is neither an atom, a stream handle nor a variable.
- (5) type error
- StreamId is neither an atom nor a stream handle.
- (193) illegal stream specification
- StreamId is an illegal stream specification.
Examples
Success:
?- get_stream(input,S).
S = $&(stream,0)
Yes (0.00s cpu)
?- set_stream(a,input), get_stream(input,a), get_stream(a,input).
Yes (0.00s cpu)
Fail:
set_stream(b,input), get_stream(b,output).
Error:
get_stream(Id, S). (Error 4).
get_stream(1.0,S). (Error 5).
get_stream(3, S). (Error 5).
get_stream(blah,S). (Error 193). % does not exist
See Also
set_stream / 2