【发布时间】:2021-01-27 00:56:18
【问题描述】:
我想打印向量 dicVec 以检查一切是否如我所愿。但我不能。我已经查过了,但没有任何帮助。
这是我当前的代码:
void Translate::read(){
int i = 0;
std::ifstream dic("ende.dic");
if (dic.is_open())
{
std::string dicLine;
while (std::getline(dic, dicLine)){
std::vector<std::pair<std::string, std::string>> dicVec;
std::pair<std::string, std::string> dicPair;
std::size_t pos = dicLine.find(";");
dicPair.first = dicLine.substr(0, pos);
//std::cout << dicPair.first << " : ";
dicPair.second= dicLine.substr(pos+1);
//std::cout << dicPair.second << std::endl;
std::cout << dicVec[i];
i++;
}
}
else {
throw std::runtime_error("File could not be opened");
}
}
我也试过用这个来打印它:
std::cout << dicVec.at(i);
还有这个:
for (auto i = dicVec.begin(); i != dicVec.end(); ++i)
std::cout << *i << ' ';
但总是有这个错误:
no match for operator<<
我必须做什么才能打印我的矢量? 感谢您的帮助。
【问题讨论】:
标签: c++ std stdvector cout std-pair