close(@stream_or_alias) [ISO]

This built-in predicate closes a sink/source, if there is an error during closing of the stream then the stream is not closed.

see also: at_end_of_stream/0 at_end_of_stream/1 close/2 close_user_streams/0 current_input/1 current_output/1 flush_output/0 flush_output/1 open/3 open/4 prolog I/O set_input/1 set_output/1 set_stream_position/2 set_stream_property/2 stream_property/2

Example
close(user_input). succeeds if the stream user_input is open and if the stream was successfully closed

 

Exceptions  
stream_or_alias is a variable an instantiation_error exception is thrown
stream_or_alias is neither a variable nor a stream term nor an alias a domain_error(stream_or_alias, Stream) exception is thrown, the variable Stream is assigned the incorrect stream_or_alias term
stream_or_alias is not associated with an open stream an existence_error(stream, Stream) exception is thrown

 

 

info@trinc-prolog.com