我正在从 CSV 文件中读取、解析并存储数据,非常简单。
现在正在使用标准readLine()
方法来做到这一点,我正试图从这个处理循环中挤出一些额外的效率。我不知道他们在幕后隐藏了多少,但我认为每次调用getLine
都是一个新的操作系统调用,会带来所有的痛苦?我不想为每一行输入的操作系统调用付费。我会提供一个巨大的缓冲区,并让它一次用多行填充缓冲区。
但是,我只关心完整的行。我不想处理从一个缓冲区读取中维护部分行以附加到第二个缓冲区读取以形成一整行,这既丑陋又烦人。
那么,有没有一种方法可以为我做到这一点?似乎几乎必须有。我可以指示读取 x 行数或 x 字节但不输出最后部分行的任何方法,甚至是我管理内存缓冲区的简单方法,因此我最大限度地减少了处理部分字符串的代码量将不胜感激。我可以使用 Boost,但如果标准 C++ 中有方法,我会更喜欢。
谢谢。