当前位置:   article > 正文

Delphi Char、Pchar 、String 相互转换_delphi pchar

delphi pchar

1、String 与 PChar 转换


1.1 String转化成PChar 2种方式

  1. var
  2. s:string;
  3. p,p1:PChar;
  4. begin
  5. s:='Hi Delphi7';
  6. p:=PChar(s); //
  7. ShowMessage(p);
  8. p1:=StrAlloc(Length(s)+1);
  9. StrPCopy(p1,s);
  10. ShowMessage(p1);
  11. StrDispose(p1);
  12. end;

1.2 PChar转String   3种方式

  1. var
  2. s,s1,s2:string;
  3. p:PChar;
  4. begin
  5. s:='Hi Delphi7';
  6. p:=PChar(s); //ShowMessage(p);
  7. s1:=p; //ShowMessage(s1);
  8. s2:=StrPas(p); //ShowMessage(s2);
  9. end;

2、String 与 Char 转换

2.1 Char转String

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

2.2 String 转 Char

  1. var
  2. s:string;
  3. c:array of Char;
  4. i:Integer;
  5. begin
  6. s:='Hi Delphi7';
  7. SetLength(c,Length(s));
  8. //Move(s[1],c[0],Length(s));//move 或 CopyMemory
  9. CopyMemory(@c[0],PChar(s),Length(s));
  10. for i:=Low(c) to High(c) do
  11. begin
  12. ShowMessage(string(c[i]))
  13. end;
  14. end;

3、Char 与 PChar 转换

3.1 Char 转 PChar

  1. var
  2. c:array [0..11] of Char;
  3. p:PChar;
  4. begin
  5. c:='Hi Delphi7';
  6. //p:=@c[0];
  7. p:=PChar(@c[0]);
  8. ShowMessage(StrPas(p));
  9. end;

3.2.PChar 转 Char

  1. var
  2. s:string;
  3. p:PChar;
  4. c:array of Char;
  5. i:Integer;
  6. begin
  7. s:='Hi Delphi7';
  8. p:=PChar(s);
  9. SetLength(c,Length(s));
  10. //Move(p^,c[0],Length(s));//move 或 CopyMemory
  11. CopyMemory(@c[0],p,Length(s));;
  12. for i:=Low(c) to High(c) do
  13. begin
  14. ShowMessage(string(c[i]))
  15. end;
  16. end;

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/82716
推荐阅读
相关标签
  

闽ICP备14008679号