Racket中的文件位置

时间:2011-02-03 18:06:26

标签: io scheme racket

我想知道Racket中是否有东西来操纵输入端口中的文件位置。 我的情况是,我需要让文件指针返回到一个位置,以防我读到我不应该阅读的内容。

e.g。 “我很迷惑。”在文件test.txt中。 然后文件指针在之前混淆了。 (我猜) 那么下次我读取字符串时,我能做些什么,我得到“是”,而不是“。”??

2 个答案:

答案 0 :(得分:2)

例如考虑peek-string。它与read-string相同,只是返回的字符保留在端口中以供将来读取。

答案 1 :(得分:1)

为了完成,有一个file-position函数可以检索当前位置或更改它。但是你通常应该避免它,因为它使代码只能在你可以实际改变位置的端口上运行 - 而且并非总是如此。正如Yasir指出的那样,对于所有的阅读功能,通常都有一个“偷看”版本,可以在不移动位置的情况下读取内容,这是一个更好的解决方案。