現在、の内容をostringstream
ファイルに書き込むためにこれを行っています。
... // -- Loop 1 Start
std::ostringstream osStr;
... // -- Loop 2 Start
cv::string s(osStr.str());
std::istringstream iss(s);
cv::vector<cv::string> subVec;
do{
cv::string sub;
iss >> sub;
subVec.push_back(sub);
} while (iss);
cv::FileStorage fs("subVec.txt", cv::FileStorage::WRITE);
fs << "subVec" << subVec;
fs.release();
... // -- Loop 2 End
... // -- Loop 1 End
ただし、これにより、以前にファイルにあったものが上書きされます。
そこで、cv::FileStorage fs("subVec.txt", cv::FileStorage::WRITE);
to をループの前に移動し、to をループのfs.release
後に移動しました。
cv::FileStorage fs("subVec.txt", cv::FileStorage::WRITE);
... // -- Loop 1 Start
std::ostringstream osStr;
... // -- Loop 2 Start
cv::string s(osStr.str());
std::istringstream iss(s);
cv::vector<cv::string> subVec;
do{
cv::string sub;
iss >> sub;
subVec.push_back(sub);
} while (iss);
fs << "subVec" << subVec;
... // -- Loop 2 End
... // -- Loop 1 End
fs.release();
これは、 に継続的に書き込みを行っていたため、一定の方法で機能しましたが.txt
、重複したキーが原因で使用できませんでした:
%YAML:1.0
subVec:
- "1"
- "2"
...
- "33"
- "34"
subVec:
- "1"
- "3"
...
- "30"
- "31"
subVecがどのように繰り返されるかを見る
ostringstream
内容を毎回上書きするのではなく、実際に読み取り可能なファイルに保存する方法を探しています。
OpenCV エラー: cvGetFileNode での解析エラー (subVec.txt(27): 重複したキー)