I would like to convert a hex-value ("206564697374754f") to a string (from hex to ascii). These hex-values are from gdb, so the contents are "reversed" by every two. (So the exact hex-value I need to convert is "4f75747369..."). reverse2() reverses the string appropriately, but it needs to now be converted to hex (hence the "0x", then atoi()).
The following code is what I have so far, but I run into a runtime-error. What is the issue, and is there a better way of doing this?
#include <bits/stdc++.h> 
using namespace std; 
void reverse2s(string str) 
{ 
for (int i=str.length()-2; i>=0; i-=2) {
    string hx="0x"+str[i]+str[i+1];
    cout << (char)(std::stoi( hx )); 
}
} 
// Driver code 
int main(void) 
{ 
    string s = "206564697374754f"; 
    reverse2s(s); 
    return (0); 
} 
 
     
     
     
    