関数がさまざまな長さのデータを継続的に受け取るという状況があります。データは何でもかまいません。このデータで特定の文字列を探すための最良の方法を見つけたいと思っています。解決策には、以前のデータを何らかの形でバッファリングする必要がありますが、問題に頭を悩ませることはできません。
問題の例を次に示します。
データ入力 -> [\x00\x00\x01\x23B][][LABLABLABLABLA\x01TO][KEN][BLA\x01]...
すべての [...] がデータ チャンクを表し、[] がアイテムのないデータ チャンクを表す場合、文字列 TOKEN をスキャンする最良の方法は何ですか?
更新: 質問がもう少し複雑であることに気付きました。[] はセパレータではありません。上記の例に従って、チャンクの構造を説明するためにそれらを使用しています。また、TOKEN 自体は静的文字列ではありません。可変長です。行ごとに読み取る最良の方法だと思いますが、問題は、可変長のストリーミング バッファを行に読み取る方法です。