メッセージのリストがあり、メッセージを追加するたびにタイムスタンプを設定します。文字列にも一致する、特定の期間内に追加されたメッセージを返す関数を作成しようとしています。しかし、私は今立ち往生しています、どんな助けでも大歓迎です、以下は私のコードです:
struct BarMessage
{
int Length;
const char *message;
time_t TimeAdded;
};
struct Ba
{
vector<BarMessage> Messages;
void AddMessage(const char *message, int Length)
{
BarMessage m;
m.message = message;
m.Length = Length;
time(&m.TimeAdded); // set time ?
Messages.push_back(m);
}
BarMessage & GetMessageWithin(string pattern, int span = 200)
{
//Time.Now?
time_t now;
time(&now);
if (this->Messages.size() > 0)
{
for (auto & messages : this->Messages)
{
//Stuck here!!!
//I want to return the BarMessage of a message
//that was added within 200 (span)
//that also contains the string patten inside it
}
}
}
};