Previous Contents Next
6.13 Byte input/output

These built-in predicates enable a single byte to be input from and output to a binary stream. -1 is returned to indicate the end-of-file.

6.13.1 get_byte/2, get_byte/1

Templates

get_byte(+stream_or_alias, ?in_byte)
get_byte(?in_byte)
Description

get_byte(SorA, Byte) succeeds if Byte unifies with the next byte read from the stream associated with the stream-term or alias SorA.

get_byte/1 applies to the current input stream.

Errors

SorA is a variable    instantiation_error
Byte is neither a variable nor an in-byte    type_error(in_byte, Byte)
SorA is neither a variable nor a stream-term or alias    domain_error(stream_or_alias, SorA)
SorA is not associated with an open stream    existence_error(stream, SorA)
SorA is an output stream    permission_error(input, stream, SorA)
SorA is associated with a text stream    permission_error(input, text_stream, SorA)
SorA has stream properties end_of_stream(past) and eof_action(error)    permission_error(input, past_end_of_stream, SorA)

Portability

ISO predicates.

6.13.2 peek_byte/2, peek_byte/1

Templates

peek_byte(+stream_or_alias, ?in_byte)
peek_byte(?in_byte)
Description

peek_byte(SorA, Byte) succeeds if Byte unifies with the next byte that will be read from the stream associated with the stream-term or alias SorA. The byte is not read.

peek_byte/1 applies to the current input stream.

Errors

SorA is a variable    instantiation_error
Byte is neither a variable nor an in-byte    type_error(in_byte, Byte)
SorA is neither a variable nor a stream-term or alias    domain_error(stream_or_alias, SorA)
SorA is not associated with an open stream    existence_error(stream, SorA)
SorA is an output stream    permission_error(input, stream, SorA)
SorA is associated with a text stream    permission_error(input, text_stream, SorA)
SorA has stream properties end_of_stream(past) and eof_action(error)    permission_error(input, past_end_of_stream, SorA)

Portability

ISO predicates.

6.13.3 unget_byte/2, unget_byte/1

Templates

unget_byte(+stream_or_alias, +byte)
unget_byte(+byte)
Description

unget_byte(SorA, Byte) pushes back Byte onto the stream associated with the stream-term or alias SorA. Byte will be the next byte read by get_byte/2. The maximum number of bytes that can be successively pushed back is given by the max_unget Prolog flag (section 6.22.1).

unget_byte/1 applies to the current input stream.

Errors

SorA is a variable    instantiation_error
Byte is a variable    instantiation_error
Byte is neither a variable nor a byte    type_error(byte, Byte)
SorA is neither a variable nor a stream-term or alias    domain_error(stream_or_alias, SorA)
SorA is not associated with an open stream    existence_error(stream, SorA)
SorA is an output stream    permission_error(input, stream, SorA)
SorA is associated with a text stream    permission_error(input, text_stream, SorA)

Portability

GNU Prolog predicates.

6.13.4 put_byte/2, put_byte/1

Templates

put_byte(+stream_or_alias, +byte)
put_byte(+byte)
Description

put_byte(SorA, Byte) writes Byte onto the stream associated with the stream-term or alias SorA.

put_byte/1 applies to the current output stream.

Errors

SorA is a variable    instantiation_error
Byte is a variable    instantiation_error
Byte is neither a variable nor a byte    type_error(byte, Byte)
SorA is neither a variable nor a stream-term or alias    domain_error(stream_or_alias, SorA)
SorA is not associated with an open stream    existence_error(stream, SorA)
SorA is an output stream    permission_error(output, stream, SorA)
SorA is associated with a text stream    permission_error(output, text_stream, SorA)

Portability

GNU Prolog predicates.


Copyright (C) 1999,2000 Daniel Diaz

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

More about the copyright
Previous Contents Next