我有一个相对简单的问题.假设我有一个文件,但我只想访问文件的第X行,直到Y行,最简单的方法是什么?
我知道我可以逐行阅读,直到我达到我真正需要的线条,但是有更好的更优雅的解决方案吗?
谢谢.
在C++中,不,不是真的(好吧,不是我熟悉的任何语言,真的).
你必须从文件的开头开始,这样你才能知道第X行的起始位置(除非它是一个固定记录长度的文件,但文本不太可能).
同样,你必须这样做,直到找到你感兴趣的最后一行.
如果您害怕缓冲区溢出攻击,您可以读取字符而不是行,或者您可以读取固定大小的块并计算换行速度,但这一切都归结为读取和检查每个字符(通过您的代码明确或隐式地计算语言库来计算换行符.