memcpy()实现内存数值传递

今天费了好大功夫,实现了内存单一传递数值,其核心是要定义一个数组a[1],只有一个元素,主要取其地址在memcpy()里传输。

第一步:全局定义重构函数,受传递结构体OD的启发,从而额外引入一个a[]数组。

#import "msvcrt.dll"
   int memcpy(OD &t[],int, int ct);
   int memcpy(int,OD &t[], int ct);
   int memcpy(int,int &a[],int);
   int memcpy(int &a[],int,int);
#import

第二步:编写一个两用函数,传递账号这个int型单一数值到某个地址,实际上是读出或写入这个内存块的最后一个int字节。

void 传递账号(int adr)//2018.01.27
{
   int a[1];
   if(!工作模式)
   {
      跟踪主账号 = AccountNumber();
      a[0]       = 跟踪主账号;
      memcpy(adr+BUF_SIZE-4,a,4);
   }
   else
   {
      memcpy(a, adr+BUF_SIZE-4, 4);
      跟踪主账号=a[0];
   }
}

第三步:调用这个函数进行读写。比如 “传递账号(pBuf);//2018.01.27


本博客所有文章如无特别注明均为原创。作者:天泓评测
分享到:更多

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)