Delphi Char、Pchar 、String 相互转换

本文详细介绍了Delphi编程中String与PChar的两种转换方法,以及Char与PChar之间的转换,包括使用StrPas、Move和CopyMemory等函数的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、String 与 PChar 转换


1.1 String转化成PChar 2种方式

var
  s:string;
  p,p1:PChar;
begin
  s:='Hi Delphi7';
  p:=PChar(s);     //
  ShowMessage(p);
 
  p1:=StrAlloc(Length(s)+1);
  StrPCopy(p1,s);
  ShowMessage(p1);
  StrDispose(p1);
end;

1.2 PChar转String   3种方式

var
  s,s1,s2:string;
  p:PChar;
begin
  s:='Hi Delphi7';
  p:=PChar(s);    //ShowMessage(p);
  s1:=p;          //ShowMessage(s1);
  s2:=StrPas(p);  //ShowMessage(s2);
end;

2、String 与 Char 转换

2.1 Char转String

var
  c:array [0..11] of Char;
  s:string;
begin
  s:=StrPas(@c[0]);   //使用StrPas函数获取数组的首地址   ShowMessage(s);
end;

2.2 String 转 Char

var
  s:string;
  c:array of Char;
  i:Integer;
begin
  s:='Hi Delphi7';
  SetLength(c,Length(s));
  //Move(s[1],c[0],Length(s));//move 或 CopyMemory
  CopyMemory(@c[0],PChar(s),Length(s));
  for i:=Low(c) to High(c) do
  begin
    ShowMessage(string(c[i]))
  end;
end;

3、Char 与 PChar 转换

3.1 Char 转 PChar

var
  c:array [0..11] of Char;
  p:PChar;
begin
  c:='Hi Delphi7';
  //p:=@c[0];
  p:=PChar(@c[0]);
  ShowMessage(StrPas(p));
end;

3.2.PChar 转 Char

var
  s:string;
  p:PChar;
  c:array of Char;
  i:Integer;
begin
  s:='Hi Delphi7';
  p:=PChar(s);
  SetLength(c,Length(s));
  //Move(p^,c[0],Length(s));//move 或 CopyMemory
  CopyMemory(@c[0],p,Length(s));;
  for i:=Low(c) to High(c) do
  begin
    ShowMessage(string(c[i]))
  end;
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值