首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi 指针操作,该如何解决

2012-02-25 
Delphi 指针操作varBuffer: PointerP,S:PWideChar BEGINP123456Buffer:GetPoint....... //这是我得

Delphi 指针操作
var
 Buffer: Pointer
 P,S:PWideChar ;
BEGIN 
  P='123456';
  Buffer:=GetPoint....... //这是我得到一个指针,当然这个地址是固定的不能改变255长
1 我想先读出来 Buffer内容,现在已经知道是WideChar 放到S中 
1 我想把P的值赋给Buffer
end;
这段代码怎么写?

[解决办法]
var
P,S:Pwidechar;
Buffer: Pointer;
begin
P:='123456';
Buffer:=GetPoint; //这是我得到一个指针,当然这个地址是固定的不能改变255

getmem(S,255); //为S分配内存
move(Buffer^,S^,255); //先读出来 Buffer内容,放到S中
move(P^,Buffer^,255); //把P的值赋给Buffer 
//..............................
freemem(S);

[解决办法]
1 我想先读出来 Buffer内容,现在已经知道是WideChar 放到S中

[解决办法]
其实用move的话,完全是内存的复制,与类型无关
move(source,dest,length);length是字节数
[解决办法]
用move完全可以

热点排行