zoukankan      html  css  js  c++  java
  • Delphi字符串、PChar与字符数组之间的转换

    来自: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;
  • 相关阅读:
    Running OOM killer script for process 32248 for Solr on port 8983
    List删除元素
    Oracle联合主键
    synchronized的四种用法
    数据库 乐观锁与悲观锁
    noip2011普及组 统计单词数
    bzoj3751 noip2014解方程
    汕头市队赛SRM07
    noip2010 导弹拦截&&vijos1810
    noip2009普及组 细胞分裂&&vijos1814
  • 原文地址:https://www.cnblogs.com/del88/p/5448981.html
Copyright © 2011-2022 走看看