[ Stream I/O | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]
at(+Stream, ?Pointer)
Succeeds if Pointer is the pointer position of the stream Stream.
- +Stream
- Integer (stream number) or Atom (reserved or user-defined symbolic stream name).
- ?Pointer
- Integer or variable.
Description
Unifies Pointer with the file position of the file specified by Stream.
Stream can be a symbolic stream name or a physical stream number.
Fail Conditions
Fails if Pointer is not the pointer position of the stream Stream.
Resatisfiable
No.
Exceptions
- (4) instantiation fault
- Stream is not instantiated.
- (5) type error
- Pointer is instantiated to a non-integer.
- (5) type error
- Stream is instantiated to neither an integer nor an atom.
- (192) illegal stream mode
- Stream is an illegal stream mode.
Examples
Success:
[eclipse]: open(file1,write,s), at(s, P1),
> write(s, 1234567890), at(s, P2), close(s).
P1 = 0
P2 = 10
yes.
[eclipse]: open(file1,update,s), at(s, P1), read(s, T),
> at(s, P2), close(s).
P1 = 0
T = 1234567890
P2 = 10
yes.
Error:
at(Stream, 4). (Error 4).
at("3", Pointer). (Error 5).
at(7, 4.3). (Error 5).
See Also
at_eof / 1, seek / 2