想要读取一个内存地址(自己设定的)字符串数据,并与既定字符串对比,但是一直报错,具体代码如下:
//代码1:对比字母字符串
DWORD Function::字符串对比(QString 既定字符串)
{ //假定 既定字符串="woaiGuoJia"
//假定 内存地址存的字符串="GuoJiaaiwo"
DWORD 内存地址 = 0x1234567;
QString 字符串 = (CHAR*)(DWORD*)内存地址; //加上这句代码就崩溃,并且读出的字符串是乱码
if (既定字符串 == 字符串)
{
printf("匹配成功");
}
}
//代码2:对比汉字
DWORD Function::字符串对比(QString 既定字符串)
{ //假定 既定字符串="我爱国家"
//假定 内存地址存的字符串="国家爱我"
DWORD 内存地址 = 0x1234567;
std::string 字符串输出 = (CHAR*)内存地址;
printf("#define %s\n",字符串输出.c_str()); //这句以上都没问题,输出的是“国家爱我”
QString 字符串 = (CHAR*)(DWORD*)内存地址; //同样是这句报错,一带上这句及下面代码程序就崩溃
if (既定字符串 == 字符串)
{
printf("匹配成功");
}
}
想要达成的目的就是对比 内存地址的字符串是不是既定字符串,请修改我的代码 并作出相应解释。
另外 请列举内存读取的几种方法 例如(dword)这种简单的,我自己做的工作小程序就卡这一部分了
初学外行者,工作需要,请指教。