大家對有object pascal的字串可能您常用AnsiString其他的字串一般很少用到。
下面舉幾個字串的幾個型別:
AnsiSring 這是Pascal的預設類型。其長度沒有限制的。並且字串結束是以null結尾。也就是以'/0'結尾。
ShortSring是為了與Delphi以前的版本保持相容性。其長度限制在255個字元之內的。
WideSring與AnsiString類似,但它是由WideChar字元組成的。
PChar指向null結束的字串的指標。類似c裡面的char*或lpstr.
PAnsiChar指向以null結束的AnisChar結束的字串指標。
PWideChar指向以null結束的WideChar的字串的指標。
缺省情況下是AnisSring的類型:
var
S:String;
也可以有編譯器開關$H來將String類型定義為ShortString類型:範例
var
{$H-}
s1:=string;//s1是shortstring類型
{$H+}
s2:=string;//s2是sring類型
但是當特定指定的字串的長度,長度要小於255的時候,其用{$H}的時候總是AnsiSring
例子:
var
s:string[254];
下面我要講講這些類型的各自用法:
1、AnisSring類型
它是動態分配的並且有自動回收功能。這個功能稱為生存期自管理功能。不用象c中的中間結果
由於AnisSring類型的字串以null結尾的,因此可以與Win32Api相容。實際上AnisSring是
指向在堆疊中的字串結構的指針