实用 Common Lisp - 第 3 章

问题描述 投票:0回答:1

我是编程新手,从实用的 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 类型的条件

有人可以帮助我在舞台上,因为我已经被困了两天试图了解出了什么问题。

谢谢你。

lisp common-lisp elisp clisp slime
1个回答
0
投票

正如评论中所讨论的,这只是操作系统保护您免遭意外损坏您的系统。即使在单用户系统上,操作系统也不会让普通用户帐户修改系统目录,包括主驱动器的根目录。

就您而言,由于您只是在测试内容,因此我建议您仅在

Documents
文件夹中工作,这可能是
C:\Users\<YourName>\Documents
,并且您不应该遇到权限问题。

如果您确实需要修改

C:\
,您需要以管理员身份运行您的程序。在 Linux 上,这只是
sudo
。在 Windows 上,我相信您只需右键单击命令行并点击“以管理员身份运行”即可以管理员身份运行命令行。

© www.soinside.com 2019 - 2024. All rights reserved.