I/O
Format
The most common way to print data to the screen is using the format
function. This is like C’s printf
, but embedding a whole language for
printing.
This chapter of Practical Common Lisp contains a lot of
useful format
directives.
File I/O
You can use with-open-file
to safely handle files.
For instance, here’s how we open a file data.txt
in your home directory for
writing:
(with-open-file (stream (merge-pathnames #p"data.txt"
(user-homedir-pathname))
:direction :output ;; Write to disk
:if-exists :supersede ;; Overwrite the file
:if-does-not-exist :create)
(dotimes (i 100)
;; Write random numbers to the file
(format stream "~3,3f~%" (random 100))))
You can read the file into a string using uiop:read-file-string
:
CL-USER> (uiop:read-file-string (merge-pathnames #p"data.txt"
(user-homedir-pathname)))
"44.000
95.000
5.000
97.000
...
15.000"