1

我运行了一些这样的代码

(defun writeFile (name content)
    (with-open-file (stream name
        :direction :output
        :if-exists :overwrite
        :if-does-not-exist :create)
    (format stream content)))
(writeFile "C:\Users\Peter\test.txt" "Test...")

但后来我检查了我的C:\Users\Peter目录,它不包含创建一个名为test.txt. 我究竟做错了什么?

4

1 回答 1

5

\是 Common Lisp 中字符串中的转义字符。

(length "\\")1

(length "\U")1

"\U""U"

"C:\Users\Peter\test.txt""C:UsersPetertest.txt"

因此,您正在编写一个名为"C:UsersPetertest.txt".

三种可能的解决方案:

  • 用反斜杠转义反斜杠
  • 我不确定这是否有效:使用正斜杠
  • 使用 PATHNAME 函数之一来构造路径名

高级:使用逻辑路径名

于 2012-04-18T23:48:25.763 回答