.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