如何将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;

相关阅读 >>

settimer函数用法

Delphi closefile 关闭文件

Delphi api读写ini文件

Delphi 字符串去掉最后一个字符

Delphi ide 默认保存路径设置

Delphi 把修改好的cookies重新赋值给webbrowser1 doc

检测系统信息的单元 computerinfo.pas

Delphi xe6 通过javascript api调用百度地图

Delphi opentextfiledialog用法

Delphi 悬浮窗口 浮动窗口 迅雷下载浮动窗口的实现

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...