读取.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