Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想一次将 zlib 流的输出读inflate()入一个字节的缓冲区,这样我就可以解析出单行。
inflate()
有没有办法指定inflate()返回的字节数,以便我可以查看换行符?
当您调用时,inflate()您传递一个指向z_stream_s结构的指针。z_stream_s::avail_out该结构的成员变量正是用于指定输出缓冲区的大小。
z_stream_s
z_stream_s::avail_out
这可能会带来可怕的性能,因为该inflate()功能可能会有一些启动成本。
我建议只使用合理的输出缓冲区大小,然后在每次调用后遍历缓冲区inflate(),收集找到的所有完整行。当然,很可能会有一条“尾巴”,即一条不完整的线,您需要在下一轮中跟踪它。