來自: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;
