delphi 如何将String变量赋值给Pchar变量  
官方Delphi 学习QQ群: 682628230(三千人)\n
频道

delphi 如何将String变量赋值给Pchar变量


如何将String变量赋值给PChar变量

这个问题,应该是每个使用Delphi的朋友经常会遇到的疑问,针对如何将String变量赋值给Pchar变量,网上有很多种说法,如PChar、StrPas。但经过我实际试用,发现以下问题。如果你感兴趣,可以在你delphi7编译下面二段代码,看其结果有何不同?

代码1
var  p : pchar;  s : string;  i  : integer;
begin 
   s := 'hello world'; 
   i  := length(s); 
   GetMem(p,i); 
try   
   p := PChar(s); 
finally   
   FreeMem(p);  //此处会出错 
end;
end;

代码2
var  p : pchar;  s : string;  i  : integer;
begin 
   s := 'hello world'; 
   i  := length(s); 
   GetMem(p,i); 
try   
   StrPCopy(p,s); 
finally   
   FreeMem(p);  //可以正确释放 
end;
end;


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.041370868682861 seconds