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;
    复制代码
     
  • 相关阅读:
    关于BlockingQueue
    关于java的线程
    mongodb的锁和高并发
    innodb的锁和高并发
    mysql的事务隔离级别及其使用场景
    mongodb分页
    ReentrantLock和Synchronized
    spring boot MVC
    svn 入门
    多线程的返回值等问题
  • 原文地址:https://www.cnblogs.com/delphi-xe5/p/7261192.html
Copyright © 2011-2022 走看看