0

我想一次将 zlib 流的输出读inflate()入一个字节的缓冲区,这样我就可以解析出单行。

有没有办法指定inflate()返回的字节数,以便我可以查看换行符?

4

2 回答 2

2

当您调用时,inflate()您传递一个指向z_stream_s结构的指针。z_stream_s::avail_out该结构的成员变量正是用于指定输出缓冲区的大小。

于 2010-11-12T11:18:50.250 回答
2

这可能会带来可怕的性能,因为该inflate()功能可能会有一些启动成本。

我建议只使用合理的输出缓冲区大小,然后在每次调用后遍历缓冲区inflate(),收集找到的所有完整行。当然,很可能会有一条“尾巴”,即一条不完整的线,您需要在下一轮中跟踪它。

于 2010-11-12T11:20:18.187 回答