void UARTReceiverLogger::logMessage(string message, sender who) {
	char timeStamp[100];
	time_t clk = time(NULL);
	sprintf(timeStamp, "Log_time: %s, sender: %i, Message: ", ctime(&clk), who);
	string prestr(timeStamp);
	message = prestr + message;
    ofstream log_file(m_FileName.c_str(), ios_base::out | ios_base::app );
    log_file << message << endl;
}
Example #2
0
int KMPmatch(char *p, char *s)
{

    if (!p || !s) return -1;
    unsigned int si = 0;				//string  index
    unsigned int ml = 0;				//matched length
    unsigned int pl = strlen(p);		//pattren length
    unsigned int sl = strlen(s);		//pattren length
    int *pre = new int[pl];	//contain prefix num


    prestr(p, pre, pl);

    while (si < sl)
    {
        if (p[ml] != s[si])
        {
            if (ml == 0)
            {
                si += 1;
            }
            else
            {
                ml = pre[ml - 1];
            }
        }
        else
        {
            si += 1;
            ml += 1;
            if (ml == pl)
            {
                return  si - pl;
                /*count += 1;
                ml = 0;
                std::cout << "match index: " << si - pl << std::endl;*/
            }
        }
    }
    delete pre;
    return 0;
}