我有一個包含像數據的載體:使用istringstream來標記的std :: string到std ::地圖
std::vector<std::string> v;
v[0] = "first:tom";
v[1] = "last:jones";
,我想通過矢量進行迭代,並在:
解析,並把結果在std::map
std::vector<std::string> v;
std::map<std::string, std::string> m;
std::pair<std::string, std::string> p;
for(int i = 0; i < v.size(); i++)
{
std::cout << v[i] << std::endl;
std::istringstream oss(v[i]);
std::string token;
while(getline(oss, token, ':'))
{
m.insert(std::pair<std::string, std::string>("", ""));
}
}
我卡在插入到std::map
,因爲我沒有看到解析如何給我,我可以插入到地圖兩件。
這兩個都不是v [i]。
我想:
m.insert(std::pair<std::string, std::string>("first", "tom"));
m.insert(std::pair<std::string, std::string>("last", "jones"));
誰能解釋一下我的難處?
這個工作,我喜歡它通過2'substr'operations明確 – Jason
@Jason:一定要檢查'sepPosition'的值,並確認它不等於'std :: string :: npos'。 –