Answer #1: Don't. They already wrote one. To reverse string str, just do:
#include <algorithm>
reverse( str.begin(), str.end() );
Answer #2: Pretty much the same way you'd do it in C. The string class supports operator[], so you can treat it just like a char* in that regard.