当调试应用程序时,我在内存中发现了一个100%确定的结构,只包含4个字符串。虽然我不太确定如何将其转换为数据结构,因此我可以使用结构指针地址来访问值。例如,下面是数据结构看起来像在内存中的内容(作为一个例子可以说是始终位于内存地址为0x123456)C++将内存转换为数据结构
的4个独立的串
string 1 = ad
string 2 = dgdhkkkkkkhkk
string 3 = ggghhjk
string 4 = dgcfoh
和我有数据structureconsists尝试创建像
struct reversedConnectionDat_t
{
char * data1;
char * data2;
char * data3;
char * data4;
}
数据结构,这是我试过访问数据
reversedConnectionDat_t * storeDat = (reversedConnectionDat_t*)0x123456;
print(storeDat->data3);
但它似乎没有工作。我没有正确地从内存中读取字符串吗?
(Oh和琴弦有时会从我张贴在示例代码改变张贴以上,即,有时串1的长度将是7和串3将只在长度等2 ...)
内存不包含指针,所以你的结构不应该。使用简单的字符数组。并禁用填充和对齐... – Thomas
他们看起来不像字符串,你怎么确定这是他们是什么? – harold
@harold我知道它们传递给它的函数。该函数需要4个参数,并且所有4个都是字符串。 – reflexdev