Взятие пары ключ / значение из строки и сохранение в карте - PullRequest
2 голосов
/ 20 сентября 2011

Каков наилучший способ разбить строку на две части? У меня есть это, но я не могу получить «имя» правильно, так как substr не позволяет мне указать, с чего начать и где заканчивать, только с чего начинать и сколько символов (что мне неизвестно):

string query = "key=value";
string key;
string value;
int positionOfEquals = query.find("=");
key = query.substr(0, positionOfEquals );
value = query.substr(positionOfEquals + 1);

1 Ответ

2 голосов
/ 20 сентября 2011

Ваш хороший подход, но у вас все еще есть одна ошибка.Что делать, если нет '='?

string query = "key=value";
string key;
string value;
int positionOfEquals = query.find("=");
key = query.substr(0, positionOfEquals );
if(positionOfEquals != string::npos)
  value = query.substr(positionOfEquals + 1);
...