DWORD64 aaa
CString zhu;
zhu.Format("%s", aaa);我 使用这种方式可以读取AAA存放地址的文本内容谁知道怎么把内容写回去呢,
例如
DWORD64 aaa=0x123456; //123456内存地址里面存放啦(你好)
CString zhu;
zhu.Format("%s", aaa) //结果zhu输出的是你好,
我现在想怎么改变DWORD64 aaa=0x123456; 中0X123456的内容呢,
char *s = (char *)zhu;
sscanf(s, "%ld", &aaa);
DWORD64 = unsigned long long,也就是说 aaa 就是一个8个字节无符号的长整型数,你是用它来做为一个指针来使用的。当你将字串地址赋值给aaa后,只需更改字串的内容,就改变了aaa的内容。
#include <iostream>
#include <windows.h>
#include <string>
//#include <stdio.h>
using namespace std;
int main()
{
DWORD64 aaa;
string sstr;
char str[] = "this is a test text!";
aaa = (DWORD64)str; // 将字符串数组指针强制转换成无符号长整型数赋值给aaa
sstr = (char*)aaa; // 下面步骤是用来验证的
std::cout <<"地址:" <<aaa<<" 内容:"<<sstr<<"\n";
strcpy(str, "这是测试!"); // 修改内容
sstr = (char*)aaa; // 下面步骤是用来验证的
std::cout <<"地址:" <<aaa<<" 内容:"<<sstr<<"\n";
std::cout << "Hello World!\n";
}
刚看到楼上的回答,更精练!