我想知道Racket中是否有东西来操纵输入端口中的文件位置。 我的情况是,我需要让文件指针返回到一个位置,以防我读到我不应该阅读的内容。
e.g。 “我很迷惑。”在文件test.txt中。 然后文件指针在之前混淆了。 (我猜) 那么下次我读取字符串时,我能做些什么,我得到“是”,而不是“。”??
答案 0 :(得分:2)
例如考虑peek-string
。它与read-string
相同,只是返回的字符保留在端口中以供将来读取。
答案 1 :(得分:1)
为了完成,有一个file-position
函数可以检索当前位置或更改它。但是你通常应该避免它,因为它使代码只能在你可以实际改变位置的端口上运行 - 而且并非总是如此。正如Yasir指出的那样,对于所有的阅读功能,通常都有一个“偷看”版本,可以在不移动位置的情况下读取内容,这是一个更好的解决方案。