【发布时间】:2014-02-28 16:26:39
【问题描述】:
我是直接用 postscript 编程的新手。
我正在从一个文件中读取,我正在使用读取命令来解析符号。
我要检查的大多数符号长度为 2 个字符,一个字符长度为 3 个字符。我会将长度为 3 个字符的字符更改为两个字符,但这无济于事,原因如下:
- 这些符号是标准的,所以我不能说.. 好吧,感谢制作 只有其中一个 3 个字符与其他字符不同!
- 具有 3 个字符的符号的前 2 个字符与另一个符号相同。
如果前两个符号匹配,我需要能够“窥视”文件中的下一个字符,如果窥视的字符与我想要制作的 3 个字符符号不匹配,则不修改读取顺序.
示例: 文件文本为字符串:“AB3;ABB4;”
在这种情况下,我会先读 A,然后再读 B,因为这两个字符加在一起是“AB”,所以我需要看看读下一个字符是否会产生 B。如果不是,我不想修改我的阅读顺序,这样我就可以正常地在代码中继续提取值。如果是这样,我现在有了我的 3 个字符符号,可以继续正常提取值。
谢谢。
【问题讨论】:
-
您的实际问题是什么?
-
如果前两个符号匹配,我如何“查看”文件中的下一个字符,如果查看的字符与我要查找的字符不匹配,则不修改读取顺序?我目前正在研究 luser droog 提供的答案。
-
好的,我假设您不想将文件内容解释为 PostScript。在这种情况下,最简单的解决方案是实现您自己的“读取”函数来读取文件。让它读取一串数据并根据需要从中提供字节。如果您想“取消”一个字符,只需将索引向下移动 1 个字节即可。当然,您将需要满足字符串用尽、读取新缓冲区并且您仍然希望能够取消获取一个字符的情况。解决这个问题的简单方法是在读取新数据时从旧字符串中复制最后一个字节。
标签: file postscript peek