提问人:MrKleeblatt 提问时间:12/30/2022 最后编辑:n. m. could be an AIMrKleeblatt 更新时间:12/30/2022 访问量:62
读取文件字符的效率
Efficiency reading chars of a file
问:
我训练自己构建编译器。当我读取文件时,我有时需要在我当前位置之前查看几个字符,以知道我必须生成哪个令牌。
在这种情况下,我想到了两种选择:
- 我首先读取整个文件,然后使用索引变量访问字符
- 我一次读了一个字符,以防万一我必须回到我使用的一些以前的角色
getc(file);
fseek(file, -1, SEEK_CUR);
这些选项中哪一个更有效?你更喜欢哪个?
答:
1赞
MrKleeblatt
12/30/2022
#1
感谢您的评论。我的决定是先完全读取文件,然后检查是否遇到任何性能问题。
评论
ungetc
而不是 .但是,在某些平台上,您只能推回一个字符。fseek
fseek(file, -1, SEEK_CUR);
ftell
fseek