讀取.dat文件並生成.csv格式文件後的代碼,該文件由存儲在以';'分隔的字符串中的許多幀名稱(列)和相應時間(微秒)(行) :時間字符串減法
MFK3_ECAN 1625069169;1625072194;1625072216;1625072229;1625072241;1625072253;
MFK3_VIDEO_FrameID 1625334304;1625612508;1625890712;1626168916;1626447120;1626725324;
我需要與是幫助找到一個解決方案,通過這些上述的兩個「特定名稱」字符串可以被減去針對每個時間幀(換算成秒即micsec/10^7)與一個約束,如果有3秒或更多秒的時間差,則應記錄一個狀態爲「.dat文件已損壞」。
的代碼讀取.dat文件部分:
std::string file_name = m_Filename.toStdString();
size_t found = file_name.find (".dat");
file_name.erase (found, 4);
file_name.insert (found, "_Timestamp_Log");
file_name += ".csv";
m_log.open (file_name.c_str(), std::ofstream::out);
QList<tTimeStamp> tmp_lst;
for (int col = 0; col < m_nStreamCnt; col++)
{
tmp_lst = m_TimestampMap.value(col+1);
m_log << m_StreamIDMap.value(col+1).toStdString() << ";"; //writing Column names
for(int row = 0; row < tmp_lst.size(); row++)
{
m_log << QString::number(tmp_lst.at(row)).toStdString() << ";"; //writing Row values
}
m_log << endl;
}
m_log.close();
我不明白你的算法問題。你可以添加一個損壞和有效的文件的例子,減少到基本部分? 你的代碼清單也沒有幫助。請添加一些評論,你在做什麼,什麼是工作/不工作。 – OutOfBound
當然,我可以嘗試更好地解釋它。 – Alto