type: function (subr) location: built-in source file: xlfio.c Common LISP compatible: similar supported on: all machines
(read-byte [ <source> ] ) <source> - an optional source - must be a file pointer or stream, the default is *standard-input*
The READ-BYTE function reads a single character from the specified <source>. The character read is returned as an integer value for the result. The <source> may be a file pointer or a stream. If there is no <source>, *STANDARD-INPUT* is the default. If an end-of-file is encountered in the <source>, then NIL will be returned as the result.
(setq fp (open "f" :direction :output)) ; set up file (print 12.34 fp) ; (close fp) ; ; (setq fp (open "f" :direction :input)) ; now read the file (read-byte fp) ; returns 49 "1" (read-byte fp) ; returns 50 "2" (read-byte fp) ; returns 46 "." (read-byte fp) ; returns 51 "3" (read-byte fp) ; returns 52 "4" (read-byte fp) ; returns 10 "\n" (read-byte fp) ; returns NIL empty (close fp) ;
COMMON LISP COMPATIBILITY: The XLISP and Common LISP READ-BYTE functions are compatible for simple cases. They both allow for the optional <source>. However, in Common LISP, there are addition parameters which occur right after <source>. So, when porting from Common LISP to XLISP, remember there are additional arguments in Common LISP's READ-BYTE.
COMMON LISP COMPATIBILITY: Common LISP specifies that read operations with a <source> of NIL, will come from *STANDARD-INPUT*. XLISP does not read the input from *STANDARD-INPUT* with a <source> of NIL. Common LISP also specifies that a <source> of T will read from *TERMINAL-IO*. XLISP does not allow T as a valid argument for <source>.