首页 > 编程语言 > 详细

Delphi字符串、PChar与字符数组之间的转换

时间:2016-04-30 18:18:35      阅读:339      评论:0      收藏:0      [点我收藏+]

来自:http://my.oschina.net/kavensu/blog/193719

-----------------------------------------------------------------

var

  s: string;

  p: pchar;

  a: array[1..20] of char;



1、字符串 ---> PChar

  p := PChar(s);



2、PChar ---> 字符串

  s := p;



3、PChar ---> 字符数组

  StrCopy(@a , p);



4、字符数组 ---> PChar

  PChar(@a);



5、字符串 ---> 字符数组

  StrCopy(@a , PChar(s));



6、字符数组 ---> 字符串

  s := PChar(@a);



【注】字符串和字符数组之间的转换借助 PChar 做中转;

 

3.PChar类型纯粹为兼容C和WindowsAPI而设,使用非常麻烦。
APChar := StrAlloc(n); -- 分配空间
StrDispose(APChar); -- 释放空间
当然是以地址来传递的。

 

Delphi字符串、PChar与字符数组之间的转换
设有以下三个变量:
var
s:string;
p:pchar;
a:array[1..20] of char;
那么三者之间的转换如下:
1、字符串到PChar
    p:=PChar(s);
2、PChar到字符串
    s:=p;
3、PChar到字符数组
    StrCopy(@a,p);
4、字符数组到PChar
    PChar(@a);
5、字符串与字符数组之间的转换就只有通过PChar来中转了。例如下面这个例子:
procedure TForm1.btn1Click(Sender: TObject);
var
str:array[1..10] of char;
begin
StrCopy(@str,PChar(mmo1.Text));
mmo2.Text:=PChar(@str);
end;

 

Delphi字符串、PChar与字符数组之间的转换

原文:http://www.cnblogs.com/del88/p/5448981.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!