Zamiast printować, to zapisywać.. Nie rozumiem w czym problem.
dlugosc=wyraz.length()-1;
std::string s(dlugosc + 1, 0); // prealokacja, żeby kazdy index < dlugosc byl wlasciwy
for(int i=dlugosc;i>=0;i--)
s[dlugosc - i] = wyraz[i];
Ale prościej tak:
std::string s(wyraz.rbegin(), wyraz.rend());