使用PChar和string类型时的内存分配技术

    string是自动管理内存大小和分配,而Pchar需要手动分配内存手动释放,显然string要比pchar的使用要方便一些,但是win api的许多参数需要pchar类型,所以应该学会pchar的使用技术。

   下面的例子演示了使用PChar和string类型时的内存分配技术:

var
P1 , P2 : PChar ;
S1 , S2 : string ;
begin
P1 : = StrAlloc ( 64 * SizeOf ( Char ) ) ; / / P1指向一个分配了63个字符的缓冲区
StrPCopy(P1,'Delphi 5'); / /复制一组字母到P 1
S1:='Developer's Guide'; / /在S1中放几个字母
P2 : = StrNew ( PChar ( S1 ) ) ; / / P2指向S1的备份
StrCat ( P1 , P2 ) ; / /连接P1和P2 
S2:=P1;                                  //S2现在为'Delphi 5 Developer's Guide’
StrDispose ( P1 ) ; / /清除P1和P2的缓冲区。
StrDispose ( P2 ) ;
end.

posted on 2010-10-22 21:47  Delphi7456  阅读(3721)  评论(0编辑  收藏  举报

导航