现在我的代码循环浏览一个文本文件,然后将地图中的kgrams和字符添加到地图中。键是字符串,值是向量。但是如何将元素添加到与键关联的向量中?
以下是添加该值的代码,但它似乎无法正常工作。
for (int i = 0; i < wrapAround.length(); i++)
{
temp = i + order;
kgram[wrapAround.substr(i, temp)].add(temp++); //add value to the vector associated with key
}
我稍后会有一个if
语句,看看以后的值是否在地图中,而且它永远不会是真的......我不确定原因。
答案 0 :(得分:0)
C ++中string::substr
的第二个参数是长度而不是结束位置。
请尝试像这样访问k-gram:wrapAround.substr(i, order)
答案 1 :(得分:0)
我将保留子字符串索引,但是要将项目添加到使用.push_back()
或.push_front()
的C ++向量中:
kgram[..].push_back(temp++);