Как преобразовать строку C++ в обратном порядке от хвоста к началу?

Думаю, мне нужна обратнаяверсия strtok, например:

char* p = rstrtok(str, delimeters);

Например, последовательно получить positionof '-', '_'и '+'в строке «hello+stack_over-flow», используя набор разделителей «+_-»

Меня интересуют только разделители и их позиция (а не содержимое между), поэтому я думаю, что boost::split_iteratorздесь не подходит.

Существуют ли какие-либо полезные функции, которые я могу использовать? или какое-либо решение для решения такой ситуации?
Кроме того, поскольку я работаю на С++, есть ли удобный способ избежать этого старомодного C?

(Я искал "reverse strtok", но получил просто "stack over flow" на "flow over stack"...)

6
задан Eitan T 18 June 2012 в 06:41
поделиться