ショートストーリー
着信メッセージデータを固定長のバッファに追加する必要があります。
バッファがいっぱいの場合は、最も古いメッセージデータ(またはバッファ内の最も古いバイト)を新しいものに置き換えます。これはある種のキューです。
この種のキューを実装するにはどうすればよいですか?
プログラムはCであり、私はCについてほとんど(ほとんどないように)知識がありません。
長い話
デバイスからメッセージを受信するプログラムがあります。
このメッセージは可変長であり、IDが関連付けられている可能性があります。
現在、プログラムは各IDに対して受信した最新のメッセージのみを保持します。
このメッセージはプログラムによって内部的に保持され、その構成がある場合、またはユーザーが特定のIDの受信メッセージを取得するコマンドを(リアルタイムで)送信した場合にのみユーザーに表示されます。
ここで、特定のID(最後だけでなく)に対して受信したいくつかのメッセージを保持し、それらを返す必要があります。個別に返品する必要はありません。それらはすべて1つのブロックで返すことができます(デバイスが返すメモリデータの一部としていくつかのメッセージを考えてください)。
現在、受信したメッセージを保持するための固定長のバッファと、受信したメッセージの長さを追跡するための変数があります。
そのため、既存のバッファを使用して、新しいメッセージを追加し続けることを考えていました。また、別のメッセージが届き、バッファに空き容量がなくなった場合は、最も古いメッセージデータを上書きする必要があります。キューのようなもの。
特に、この種のキューを実装する最後の部分は、私がもっと助けを必要としているところです。
プログラムはCであり、私が行ったものではなく、Cに関する知識は限られています(存在しないとは言えません:)
私は本当に最初にCを学ぶ必要がありますが、今はその時間はありません:)私はC#をやりました、 Java、Javascript、そしてほとんど。
このキューの王を管理する上で何か助けはありますか?
ありがとう