У меня есть функция, которая нужна для "парсинга" строки. Она должна определить значение условной переменной, на вход дается строка, имеющая вид вроде
std::string var = "VAR = 'hello'";
Я определяю позицию кавычек:
const size_t variable_value_start = var.find("'");
if (variable_value_start == std::string::npos)
return;
const size_t variable_value_end = var.find("'", variable_value_start + 1);
Что работает вполне адекватно, я проверял (Дает верные индексы). Но после того, как я пытаюсь создать итоговое значение
std::string variable_value = var.substr(variable_value_start + 1, variable_value_end - 1);
Оно по какой то причине дает мне
hello'
Последняя кавычка ни в какую не хочет убираться, не могу понять, в чем дело