我是编程新手,从实用的 Common Lisp 书开始。我的挑战在第三章。
功能
(defun save-db (filename)
(with-open-file (out filename
:direction :output
:if-exists :supersede)
(with-standard-io-syntax)
(print *db* out))))
当我进入 REPL 并输入
(save-db "c:/my-cds.db")
时,我得到以下信息:
权限被拒绝:“c:/my-cds.db” CCL::SIMPLE-FILE-ERROR 类型的条件
有人可以帮助我在舞台上,因为我已经被困了两天试图了解出了什么问题。
谢谢你。
正如评论中所讨论的,这只是操作系统保护您免遭意外损坏您的系统。即使在单用户系统上,操作系统也不会让普通用户帐户修改系统目录,包括主驱动器的根目录。
就您而言,由于您只是在测试内容,因此我建议您仅在
Documents
文件夹中工作,这可能是 C:\Users\<YourName>\Documents
,并且您不应该遇到权限问题。
如果您确实需要修改
C:\
,您需要以管理员身份运行您的程序。在 Linux 上,这只是 sudo
。在 Windows 上,我相信您只需右键单击命令行并点击“以管理员身份运行”即可以管理员身份运行命令行。