将可变大小的字符数组从文件读取到 stl 字符串的基本技术是什么。目前我这样做是“坏”的方式。
- 读取写入期间写入的计数
- 创建一个该大小加 1 的 char 数组
- 将最后一个元素设置为零
- 读入缓冲区
- 将其分配给字符串
- 删除缓冲区
在我处理数千个大型字符数组的应用程序中执行此操作会很慢。我也无法预先分配大缓冲区,因为没有设置上限。首先调整字符串的大小并读入它似乎是不标准的。
请注意,我们的应用程序有一个自定义文件库,所以我们不能依赖 fstream、FILE 等。另外,我们使用 stl 而不是 boost。
解决这个问题的最佳技术是什么?