Printing out vector char by char
So the first thing you can do is to use container loops

for (std::string &amp;mystring : str) {
// do someting
}


The second thing would be to have a look at rbegin() and rend, which give you reverse_iterators. 

You can find a very good reference here: http://www.cplusplus.com/reference/string/string/rend/

Together you would get something like that

for (std::string &amp;mystring : str) {
    for (std::string::reverse_iterator rit=mystring.rbegin(); rit!=mystring.rend(); ++rit) {
        std::cout &lt;&lt; *rit;
    }
}