Skip to main content

write-char

write-char Function

Syntax:

write-char character &optional output-stream → character

Arguments and Values:

character—a character .

output-stream – an output stream designator . The default is standard output.

Description:

write-char outputs character to output-stream.

Examples:

(write-char #\a) 
▷ a
→ #\a
(with-output-to-string (s)
(write-char #\a s)
(write-char #\Space s)
(write-char #\b s))
"a b"

Side Effects:

The output-stream is modified.

Affected By:

*standard-output*, *terminal-io*.

See Also:

read-char, write-byte, write-sequence

read-line

Expanded Reference: write-char

Basic Usage

write-char writes a single character to an output stream and returns that character.

(with-output-to-string (s)
(write-char #\H s)
(write-char #\i s))
=> "Hi"

Return Value

write-char returns the character that was written.

(with-output-to-string (s)
(let ((result (write-char #\x s)))
(write-char #\Space s)
(prin1 result s)))
=> "x #\\x"

Writing Special Characters

Any character can be written, including newlines and other whitespace.

(with-output-to-string (s)
(write-char #\A s)
(write-char #\Newline s)
(write-char #\B s))
=> "A
B"

Building Strings Character by Character

(with-output-to-string (s)
(dolist (c '(#\C #\o #\m #\m #\o #\n #\Space #\L #\i #\s #\p))
(write-char c s)))
=> "Common Lisp"