Я хотел написать две однострочные функции, которые будут обрезать пробелы слева и справа от строки. Левая сторона не была проблемой:
void trimLeft(string &s) {
s.erase(s.begin(), find_if(s.begin(), s.end(), (int (*)(int))isgraph));
}
Но когда я попробовал нечто подобное для правой стороны:
void trimRight(string &s) {
s.erase(find_if(s.rbegin(), s.rend(), (int (*)(int))isgraph), s.end());
}
У меня были некоторые ошибки компилятора. Проблема в том, что я должен преобразовать reverse_iterator (который возвращается find_if) в обычный итератор. Как это сделать?