zlibストリームの出力をinflate()
一度に1バイトずつバッファーに読み込んで、1行を解析できるようにします。
inflate()
改行を監視できるように、返されるバイト数を指定する方法はありますか?
呼び出すときは、構造体inflate()
へのポインタを渡します。その構造体のメンバー変数は、出力バッファーのサイズを指定するためのものです。z_stream_s
z_stream_s::avail_out
関数には初期費用がかかる可能性があるため、これは恐ろしいパフォーマンスをもたらすinflate()
可能性があります。
妥当な出力バッファサイズを使用し、を呼び出すたびにバッファを反復処理して、inflate()
見つかったすべての完全な行を収集することをお勧めします。もちろん、次のラウンドのために追跡する必要がある「テール」、つまり不完全なラインが存在する可能性が非常に高くなります。