【问题标题】:Write to beginning of file in Scheme在 Scheme 中写入文件的开头
【发布时间】:2014-02-22 12:54:48
【问题描述】:

我想在Scheme中创建一个日志文件,但是每次我添加一个新条目时,我都希望它位于文件的开头,所以当我再次从文件中读取X个日志时,它会读取X 个最新条目,从新到旧。

例子:

22/02/14 13:50 最新日志条目

22/02/14 13:45 旧日志条目

22/02/14 13:40 最早的日志条目

有谁知道如何使用“open-input-file”和“open-output-file”程序来做到这一点?

【问题讨论】:

标签: file logging io racket


【解决方案1】:

您请求的功能每次需要写入新条目时都需要写入整个日志文件,因为您将用下一个条目覆盖之前的第一个条目。通常程序不会保留日志文件的已提交部分,因此这会引入更多内存使用,并且您的程序必须知道何时轮换日志以清除缓冲区。

标准的方法是追加一个新条目,它将先前的日志条目留在最后一次写入日志的位置。

作为一种折衷方案,您可能会寻找一个以相反顺序显示日志文件的程序,并且可能也会像这样尾随它。它很容易实现,所以我想它已经存在了。如果不存在这样的应用程序,编写这样的应用程序将是微不足道的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多