![[LISPWORKS]](../Graphics/LWSmall.gif)
![[Common Lisp HyperSpec (TM)]](../Graphics/CLHS_Sm.gif) 
 ![[Previous]](../Graphics/Prev.gif)
![[Up]](../Graphics/Up.gif)
![[Next]](../Graphics/Next.gif)
Syntax:
write-string string &optional output-stream &key start end => string
write-line string &optional output-stream &key start end => string
Arguments and Values:
string---a string.
output-stream -- an output stream designator. The default is standard output.
start, end---bounding index designators of string. The defaults for start and end are 0 and nil, respectively.
Description:
write-string writes the characters of the subsequence of string bounded by start and end to output-stream. write-line does the same thing, but then outputs a newline afterwards.
Examples:
 (prog1 (write-string "books" nil :end 4) (write-string "worms"))
>>  bookworms
=>  "books"
 (progn (write-char #\*)
        (write-line "test12" *standard-output* :end 5) 
        (write-line "*test2")
        (write-char #\*)
        nil)
>>  *test1
>>  *test2
>>  *
=>  NIL
 
Side Effects: None.
Affected By:
*standard-output*, *terminal-io*.
Exceptional Situations: None.
See Also:
Notes:
write-line and write-string return string, not the substring bounded by start and end.
 (write-string string)
==  (dotimes (i (length string)
      (write-char (char string i)))
 (write-line string)
==  (prog1 (write-string string) (terpri))
 
![[Starting Points]](../Graphics/StartPts.gif)
![[Contents]](../Graphics/Contents.gif)
![[Index]](../Graphics/Index.gif)
![[Symbols]](../Graphics/Symbols.gif)
![[Glossary]](../Graphics/Glossary.gif)
![[Issues]](../Graphics/Issues.gif)