zoukankan      html  css  js  c++  java
  • 字符串 字符数组, pcha string 之间的相互转化, 很重要。 很蛋疼

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

    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;
    复制代码
     
  • 相关阅读:
    FZU 2150 Fire Game
    POJ 3414 Pots
    POJ 3087 Shuffle'm Up
    POJ 3126 Prime Path
    POJ 1426 Find The Multiple
    POJ 3278 Catch That Cow
    字符数组
    HDU 1238 Substing
    欧几里德和扩展欧几里德详解 以及例题CodeForces 7C
    Codeforces 591B Rebranding
  • 原文地址:https://www.cnblogs.com/delphi-xe5/p/7261192.html
Copyright © 2011-2022 走看看