Node: Input, Next: , Previous: Abstract Classifications of Streams (Introduction to Streams), Up: Introduction to Streams



Input, Output, and Bidirectional Streams

A stream, whether a character stream or a binary stream, can be an input stream (source of data), an output stream (sink for data), both, or (e.g., when ":direction :probe" is given to open) neither.

Figure 21-2 shows operators relating to input streams.

  clear-input  read-byte            read-from-string            
  listen       read-char            read-line                   
  peek-char    read-char-no-hang    read-preserving-whitespace  
  read         read-delimited-list  unread-char                 


        Figure 21--2: Operators relating to Input Streams.      

Figure 21-3 shows operators relating to output streams.

  clear-output   prin1            write            
  finish-output  prin1-to-string  write-byte       
  force-output   princ            write-char       
  format         princ-to-string  write-line       
  fresh-line     print            write-string     
  pprint         terpri           write-to-string  


  Figure 21--3: Operators relating to Output Streams.

A stream that is both an input stream and an output stream is called a bidirectional stream . See the functions input-stream-p and output-stream-p.

Any of the operators listed in Figure~21-2 or Figure~21-3 can be used with bidirectional streams. In addition, Figure 21-4 shows a list of operators that relate specificaly to bidirectional streams.

  y-or-n-p  yes-or-no-p    


  Figure 21--4: Operators relating to Bidirectional Streams.