0

zlibストリームの出力をinflate()一度に1バイトずつバッファーに読み込んで、1行を解析できるようにします。

inflate()改行を監視できるように、返されるバイト数を指定する方法はありますか?

4

2 に答える 2

2

呼び出すときは、構造体inflate()へのポインタを渡します。その構造体のメンバー変数は、出力バッファーのサイズを指定するためのものです。z_stream_sz_stream_s::avail_out

于 2010-11-12T11:18:50.250 に答える
2

関数には初期費用がかかる可能性があるため、これは恐ろしいパフォーマンスをもたらすinflate()可能性があります。

妥当な出力バッファサイズを使用し、を呼び出すたびにバッファを反復処理して、inflate()見つかったすべての完全な行を収集することをお勧めします。もちろん、次のラウンドのために追跡する必要がある「テール」、つまり不完全なラインが存在する可能性が非常に高くなります。

于 2010-11-12T11:20:18.187 に答える