我目前这样做是为了将 an 的内容写入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
但这会覆盖文件中以前的内容。
所以我将 to 移到cv::FileStorage fs("subVec.txt", cv::FileStorage::WRITE);
循环之前和循环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): Duplicated key)