字符串十六进制到指针获取值

时间:2017-02-06 03:24:14

标签: c++

从控制台我要求一个十六进制字符串转换为一个指针来引用内存中的一个项目。

#include <iostream>
#include <sstream>
#include <Windows.h>

int char_to_pointer(std::string input);

int main() {
    int sample = 100; // lets say this address is 0xc1f1
    std::string input_;
    std::cout << "addr:" << &sample << std::endl;
    std::cout << "what is the memory address?:" << std::endl;
    std::cin >> input_;

    unsigned int inp = char_to_pointer(input_);
    std::cout << "imp: " << inp << std::endl;

    Sleep(10000);

    return 0;
}

int char_to_pointer(std::string input) {
    return std::stoul(input, nullptr, 16);
}

我的问题是char_to_pointer只将十六进制字符串转换为小数。

这就是我想要的:

input: "0xc1f1"
output: 100

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:

new_df = dict()
# assuming all dfs are dicts
for w, f in df1.items():
    if w in df2.keys():
        new_df[w] = (df2[w], f)