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); }
std::vector<std::string> one_byte_hex;, call it done