【发布时间】:2013-11-29 06:30:31
【问题描述】:
我正在编写这个程序,它应该从文件中读取,对内容进行一些处理,然后写入保留原始行结尾的输出文件。如果文件有CRLF 结尾,输出文件也应该有。我的问题是写行结尾,尤其是CLISP 实现(它适用于gcl)。当我尝试编写换行符(LF)时,文件最终以CRLF 结尾。我猜这与CLISP 的实现有关。
我需要一种write the file in binary mode 的方法,就像其他语言一样。规范中的标准 I/O 函数仅采用可选的流名称和要写入的内容。
您可以通过以下方式重现该行为:
(with-open-file (out-file "test.dat" :direction :output)
(setf ending #\linefeed)
(princ "First Line" out-file)
(write-char ending out-file)
(princ "Second Line" out-file)
(write-char ending out-file)
(princ "Second Line" out-file))
我需要一个适用于 Windows 的解决方案。
【问题讨论】:
标签: file-io lisp common-lisp clisp line-endings